我正在使用 scyladb 列表 ( 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
);
创建表后,我使用查询插入数据:
INSERT INTO plays (id, game, players, scores)
VALUES ('123-afde', 'quake', 3, [17, 4, 24241414]);
如何从表中仅获取最后分数 24241414
,而不是获取完整的分数列表?我需要 CQL 查询(运算符)。
查询从比赛中选择分数 WHERE id = '123-afde'
返回完整列表。这不是我需要的。
最佳答案
CQL 语法不支持通过 CQL 列表的索引(在特定位置)选择元素,因为其性能可能无法预测,如 CASSANDRA-7396 中所述。 .
您需要在应用程序中实现它,方法是获取列表的大小/长度,然后使用该值计算最后一个索引位置。干杯!
👉请将鼠标悬停在 cassandra 上来支持 Apache Cassandra 社区然后点击观看标签
按钮。 🙏谢谢!
关于cassandra - 如何获取 CQL 列表列的最后一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74739313/