我使用的是scylladb列表(https://docs.scylladb.com/stable/cql/types.html#lists)。我从文档中创建了一个相同的表:
CREATE TABLE plays (
id text PRIMARY KEY,
game text,
players int,
scores list<int> // A list of integers
);
创建表后,我使用query插入了数据:
INSERT INTO plays (id, game, players, scores)
VALUES ('123-afde', 'quake', 3, [17, 4, 24241414]);
我如何从表中只得到最后的分数24241414
,而不是得到分数的完整列表?我需要CQL查询(运算符)。
查询SELECT scores FROM plays WHERE id = '123-afde'
返回完整列表。这不是我需要的。
1条答案
按热度按时间cxfofazt1#
CQL语法不支持通过CQL
list
的索引(在特定位置)选择元素,因为其性能可能是不可预测的,如CASSANDRA-7396中所讨论的。你需要在你的应用程序中实现它,通过获取列表的大小/长度,然后使用该值来计算最后一个索引位置。干杯!
👉 请将鼠标悬停在cassandra上,然后单击
Watch tag
按钮,以支持Apache Cassandra社区。🙏谢谢!