Cassandra cql : select N “most recent” rows in ascending order

标签 cassandra cql

我知道在 Cassandra 中获取最新行的最佳方法是创建我的表,如下所示:

CREATE TABLE IF NOT EXISTS data1(
               asset_id int
               date timestamp,
               value decimal,
               PRIMARY KEY ((asset_id), date)
            ) WITH CLUSTERING ORDER BY (date desc);

然后通过以下方式选择 1000 个最近的数据项:

select * from data1 where asset_id = 8 limit 1000;

客户端要求数据按升序排列。 服务器端是python。 有没有办法反转 CQL 中的结果而不是代码(即 python)中的结果?

最佳答案

您是否尝试过使用 ORDER BY 子句

select * from data1 where asset_id = 8 ORDER BY date asc limit 1000;

更多信息请参见此处: https://docs.datastax.com/en/cql/3.1/cql/cql_using/useColumnsSort.html

关于 Cassandra cql : select N “most recent” rows in ascending order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43478742/

相关文章:

cassandra - 如果电话号码用作表的主键,scylla/cassandra 集群上的读/写操作是否会发生偏斜?

if-statement - Cassandra CQL - 如果不等于则更新(插入)

java - 通过 Java + Spark + SparkSession 在 Cassandra 表中插入/更新行的最佳方法是什么

database - Cassandra,计数器和按字段删除

java - 通过 Eclipse 连接到远程 Cassandra 数据库

ubuntu - Datastax Ops Center 中未显示存储容量

database - 你如何在 Cassandra 中存储集合?

Cassandra:插入较旧的时间戳

cassandra - Cassandra 中分层实体的建模

cassandra - 有没有办法在 Cassandra cqlsh 的寻呼机中显示结果?