在cassandra中创建表时,我们可以给出如下排序的聚类键。
Create table user(partitionkey int, id int, name varchar, age int, address text,
insrt_ts timestamp,
Primary key(partitionkey, name, insrt_ts, id)
with clustering order by (name asc, insrt_ts desc, id asc);
当我们将数据插入到该表中时,根据cassandra文档,记录将基于聚类键进行排序。
Select * from user where partitionkey=101;
Select * from user where partitionkey=101 order by name, insrt desc, id;
DataStax推荐了一种面向查询的数据建模方法,其中结果按查询时所需的顺序存储。这个顺序由[复合]主键的分区键和第一个聚类列决定。ORDER BY
子句上的DataStax文档解释了这一点:
查询复合主键和排序结果ORDER BY子句只能选择单个列。该列必须是复合主键中的第二列。这也适用于主键中包含两个以上列组件的表。排序可以按升序或降序进行,默认为升序,并用ASC或DESC关键字指定。
在ORDER BY子句中,使用实际名称而不是别名引用列。
对于所有未来的谷歌人,我在这篇文章发表后一年左右就这个主题写了一篇文章。它现在更老了,但仍然与Cassandra的结果集排序相关:https://www.datastax.com/dev/blog/we-shall-have-order
问题内容: 我们希望对Seam EntityQuery接口和JPA模型中的2列进行排序。我们如何做到这一点? 问题答案: 如果您正在谈论,则此注释会将(目标实体的)逗号分隔属性的列表作为参数,并相应地对集合进行排序。例如,您的情况。 根据JPA 1.0规范: 9.1.28 OrderBy批注 的注释指定的集合的元素的顺序在点值的关联时的关联检索。 值排序元素的语法为orderby_list,如下所
我试图运行以下查询从SpringBoot仓库 但总是命中错误:绑定变量的数量无效。 请就如何进一步进行提出建议。 注:我确实遵循了Spring Crude的预测结果,即VentoryIds(列表 我想执行如下操作:
现在,我使用命令加载数据,并发出query,但我感到惊讶的是,CQL不允许order by on列(即PK)。另外,当我使用条件时,它不允许对empno列进行任何不等式操作(它说只允许EQ或IN条件)。它也不允许在任何其他列上使用Where和Order by,因为它们在PK中没有使用,也没有索引。 如果我想保持在表中唯一,并希望查询结果按照排序,有人能帮助我吗? (我的版本是:
在cassandra cqlsh中select with where子句工作良好 com.netflix.astyanax.connectionpool.exceptions网站。BadRequestException:BadRequest异常:[host=10.65.240.89(10.65.240.89):9160,latency=237(342),attachs.AbstractOperat
我有一个cassandra表结构,如下所示 诸如此类,这行得通吗?或者可以做一些更好的事情,因为我已经准备好改变表的结构,还可以添加计数器列,因为基本上我应该能够基于任何列进行分页。
问题内容: 在WHERE子句中有使用SELECT语句描述的名称吗?这是好/不好的做法吗? 这会是更好的选择吗? 它远没有那么优雅,但是运行起来比以前的版本要快。我不喜欢它,因为它在GUI中没有非常清晰地显示(并且SQL初学者需要理解它)。我可以将其分为两个独立的查询,但是随后事情变得混乱了…… 注意:我不仅需要日期和分数(例如姓名) 问题答案: 称为相关子查询。它有它的用途。