cassandra - Cassandra 查询特定 ID 的特定列的最大值
问题描述
我正在尝试编写一个 Cassandra 查询,我的用例如下假设该表是
ID | Version
1 | 1
1 | 2
2 | 1
2 | 2
2 | 3
现在我想要的是获得所有 ID 的最新版本。
所以查询应该给我 2 行。第一个 ID:1 版本 2,第二个 ID:2 版本:3
我尝试了类似的查询,Select * from table where ID=1 and Version= MAX(Version)
但它不是有效的语法。
有人可以帮忙吗?
解决方案
SELECT * FROM table WHERE ID = 1 LIMIT 1
如果您的集群键是按降序排列的版本,将为您提供最高版本。
CREATE TABLE table (
id int,
version int,
PRIMARY KEY (id, version)
) WITH CLUSTERING ORDER BY (version DESC);
推荐阅读
- php - 将“select”属性动态分配给jquery select2下拉列表
- android - ms-outlook uri 方案不再适用于 xamarin android
- javascript - 将大 html 文件附加到模态窗口
- django - 在每行中使用单选按钮呈现表单的推荐方法
- apache-kafka - 测量 Kafka 生产者批次的实现压缩率
- python - 如何使用 PIL 显示shutil数据
- javascript - Service Worker 可以访问浏览器缓存吗?
- phaser-framework - Phaser 的新功能:当 cursor.up.isDown 时,无法更改玩家的 body.velocity.y。有什么东西挡住了吗?
- python - 什么都不提供时,LassoCV 中的参数选择如何工作?
- module - 来自 Bot Framework 中 Ms Teams 的任务模块调用