我在Cassandra密钥空间中有这个表:
create table hashtags(
id uuid,
text text,
frequence int,
primary key ((text), frequence, id))
with clustering order by (frequence desc, id asc);
所以我将text
作为分区键,frequence, id
作为群集键。
根据{{3}}关于GROUP BY
操作的支持,我应该可以运行这种查询:
select text, sum(frequence) from hashtags
group by text;
但我一直收到这个错误:
com.datastax.driver.core.exceptions.SyntaxError:第2行:0在输入'group'处没有可行的替代方法(... text,sum(频率)来自[hashtags]组...)
有什么我从指南中误解了吗?如何正确运行此查询? 谢谢你的帮助。
答案 0 :(得分:1)
它适用于Apache Cassandra 3.10。我试过cqlsh。
cqlsh:test> select * from hashtags ;
text | frequence | id
-------+-----------+--------------------------------------
hello | 5 | 07ef8ee4-6492-4112-babb-fc3ac2893701
hello | 4 | 3f6f3b1d-4a33-4a07-ad60-2274a9dc5577
hello | 1 | 4adf7e2a-f3b9-41eb-85cf-f4c4bdc5d322
hi | 7 | 71718f46-455e-4012-a306-f31f1cb2454a
(4 rows)
cqlsh:test> select text, sum(frequence) from hashtags group by text;
text | system.sum(frequence)
-------+-----------------------
hello | 10
hi | 7
(2 rows)
Warnings :
Aggregation query used without partition key