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);

最新更新