So there's no group by keyword in Cassandra
в сообщении в блоге больше не является точным.Вы можете группировать и применять агрегаты к этой группе, что значительно облегчает задачу в качестве примера:
CREATE TABLE scores (
competition text,
name text,
run_date timestamp,
score int,
PRIMARY KEY ((competition), name, run_date));
INSERT INTO scores (competition, name, run_date , score ) VALUES ( 'week-12', 'user1', dateOf(now()), 2);
INSERT INTO scores (competition, name, run_date , score ) VALUES ( 'week-12', 'user1', dateOf(now()), 2);
INSERT INTO scores (competition, name, run_date , score ) VALUES ( 'week-12', 'user1', dateOf(now()), 4);
INSERT INTO scores (competition, name, run_date , score ) VALUES ( 'week-12', 'user2', dateOf(now()), 4);
SELECT name, sum(score) AS user_total FROM scores WHERE competition = 'week-12' GROUP BY competition, name;
name | user_total
-------+------------
user1 | 8
user2 | 4
Обратите внимание, что функция агрегата, с которой вы работаете, работает с примером выше:
select group_and_total(name,score) from scores where competition = 'week-12';
test.group_and_total(name, score)
----------------------------------------
{'user1': 8, 'user2': 4}
ОБНОВЛЕНИЕ с вашей схемой:
> INSERT INTO ascore (id, name, count) VALUES ('id1', 'bob', 2);
> INSERT INTO ascore (id, name, count) VALUES ('id2', 'alice', 1);
> INSERT INTO ascore (id, name, count) VALUES ('id3', 'alice', 1);
# even with a null
> INSERT INTO ascore (id, name) VALUES ('id4', 'alice');
> select group_and_total(name,count) from ascore;
test.group_and_total(name, count)
----------------------------------------
{'alice': 2, 'bob': 2}
Возможно, вы используете старую версию с некоторыми ошибками?