Cassandra запрашивает максимум определенного столбца для определенного идентификатора - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь написать запрос Cassandra, и мой вариант использования выглядит следующим образом. Допустим, таблица

ID  |  Version

1   |    1

1   |    2

2   |    1

2   |    2

2   |    3

Теперь я хочу получить последнюю версию для всех идентификаторов.

Таким образом, запрос должен дать мне 2 строки.Первый с идентификатором: 1 Версия 2, а второй с идентификатором: 2 Версия: 3

Я попытался выполнить запрос, подобный Select * from table where ID=1 and Version= MAX(Version), но это неверный синтаксис.

Кто-нибудь может помочь в этом?

1 Ответ

0 голосов
/ 25 сентября 2018

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