Я работаю со следующей таблицей:
CREATE TABLE IF NOT EXISTS lp_registry.domain (
ownerid text,
name1st text,
name2nd text,
name3rd text,
registrar text,
registered timestamp,
expiration timestamp,
updated timestamp,
technologies list<text>,
techversions list<text>,
ssl boolean,
PRIMARY KEY (
(name1st, name2nd, name3rd),
registrar, ownerid, registered, expiration, updated
)
);
Таблица не обновляется, только добавляются новые строки. Каждый раз, когда краулер проверяет домен, добавляется новая строка.
Я выполняю этот выбор:
SELECT * FROM lp_registry.domain WHERE
registrar = 'REG-WEDOS' AND
ownerid = 'FORPSI-JAF-S497436'
ALLOW FILTERING;
Но в результате я хочу получить только строки с последним «обновленным» значением для каждого уникального «name3rd.name2nd.name1st».
Если бы я был в стандартной базе данных SQL, я бы использовал вложенный выбор с MAX или GROUP BY. Однако это не поддерживается Cassandra (MAX (), DISTINCT и group by in Кассандра). Но что мне делать в CQL?