如何在cassandra中执行排序

如何在cassandra中执行排序,cassandra,cql,cql3,Cassandra,Cql,Cql3,我在Cassandra中有一个表,其中包含一个字段id。我已将该字段设置为分区键。现在我想按id查询表order。 如何使用Cql按id顺序从该表中选择所有行 在Cassandra中,您不能按分区键进行排序。 您只能在分区键内下单 来自cql的错误: code=2200 [Invalid query] message="Order by is currently only supported on the clustered columns of the PRIMARY KEY, got id

我在
Cassandra
中有一个表,其中包含一个字段id。我已将该字段设置为
分区键
。现在我想按id查询表order。
如何使用
Cql
按id顺序从该表中选择所有行

在Cassandra中,您不能按分区键进行排序。 您只能在分区键内下单

来自cql的错误:

code=2200 [Invalid query] message="Order by is currently only supported on the clustered 
columns of the PRIMARY KEY, got id"

您必须使用id作为集群键创建一个表,然后按id排序。几个月前,我写了一篇文章,介绍了如何利用Cassandra中的排序顺序。阅读一下,它可能会帮助您了解如何设计数据模型来支持您的需求:谢谢@BryceAtNetwork23。这是非常有用的。所以在正常情况下,比如,如果我们想存储一个学生数据库,其中每一行都由一个特定的id标识,并且我们需要以特定的id顺序检索整个数据,那么我们不能使用它。。对吗?我还有一个疑问,卡桑德拉的复制工作到底是如何进行的?复制是针对每个分区还是针对每一行进行的?你能解释一下吗谢谢,正确;如果Cassandra中没有
WHERE
子句(指定分区键),则无法对
SELECT
强制执行结果集顺序。复制发生在分区上。这样,一个分区的所有行都保证从同一个节点读取。在
cql
中是否有“OR”和“IN”的替代方法?