计算非PK的列-Cassandra

时间:2018-06-26 23:17:14

标签: database-design cassandra column-oriented

因此,我遇到的问题是无法选择表中的行数。

我的问题是:“在图书馆中获取最多的图书”

我创建的模型:

CREATE TABLE library_reservations (
     book_isbn bigint,
     book_title text,
     book_publicationdate date,
     reservation_date date,
     reservation_addinfo text,
     PRIMARY KEY(book_isbn)
);

查询:

SELECT book_isbn, book_title, COUNT(reservation_date) 
FROM library_reservations 
GROUP BY book_isbn;

我真的觉得我的建模错误。该表是PostgreSQL表的改编。那么,如何才能正确获取每本书的预订数量呢?在这种情况下我的PK应该是什么?

1 个答案:

答案 0 :(得分:1)

不幸的是,卡桑德拉(Cassandra)没有GROUP BY函数。

一种可能的解决方案是维护带有计数器的第二张表。

Here,您可以找到有关计数器的更多信息。

在特定情况下,当进行新的预订时,您还必须更新计数器表信息。

要记住的另一件事是,Cassandra中的表旨在满足某个查询。