【发布时间】:2014-04-15 14:16:38
【问题描述】:
如何获取 Set 的 Cassandra (cql) 中的列中元素的计数; 例如;表中的列具有值 {'9970GBBHVOB61', '9970GBBHVOB62', '9970GBBHVOB6O'}。我希望从查询中返回 3
【问题讨论】:
如何获取 Set 的 Cassandra (cql) 中的列中元素的计数; 例如;表中的列具有值 {'9970GBBHVOB61', '9970GBBHVOB62', '9970GBBHVOB6O'}。我希望从查询中返回 3
【问题讨论】:
不幸的是,即使在 CQL 驱动程序 v2 中,集合支持也不完美:您可以在 upsert 语句中添加或删除项目。但不支持更多关于它们的信息,例如进行项目选择、询问集合项目的 TTL 或询问集合的大小。所以你必须
resultset: SELECT collection_column FROM ...
然后通过resultset.one() 或resultset.all() 获取项目并自己获取item.size()。对不起。
【讨论】:
要对您的问题给出一个非常具体的答案 - “表中的列具有值 {'9970GBBHVOB61', '9970GBBHVOB62', '9970GBBHVOB6O'}。我希望从查询中返回 3”
有一个 size() 方法可以做到这一点.. 举例说明它是如何使用的:
select order_id,items.item_id,last_modified from person.ecommerce_order where size(items.item_id)> 1
解释查询:
items.item_id 是一个列表字段 .检查列表中是否有多个项目。
【讨论】: