cassandra 如何获取CQL列表列的最后一个值?

cwtwac6a  于 2022-12-12  发布在  Cassandra
关注(0)|答案(1)|浏览(165)

我使用的是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'返回完整列表。这不是我需要的。

cxfofazt

cxfofazt1#

CQL语法不支持通过CQL list的索引(在特定位置)选择元素,因为其性能可能是不可预测的,如CASSANDRA-7396中所讨论的。
你需要在你的应用程序中实现它,通过获取列表的大小/长度,然后使用该值来计算最后一个索引位置。干杯!
👉 请将鼠标悬停在cassandra上,然后单击Watch tag按钮,以支持Apache Cassandra社区。🙏谢谢!

相关问题