计算不是 PK 的列 - Cassandra
Counting columns that are not PK - Cassandra
所以我 运行 的问题是无法 select 我的 table 中的行数。
我的问题是:"Get the most reserved book in a library"
我创建的模型:
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;
我真的觉得我的造型错了。 table 是对 PostgreSQL table 的改编。那么我怎样才能正确地获得每本书的预订数量呢?这种情况下我的PK应该是什么?
很遗憾,Cassandra 没有 GROUP BY 功能。
一个可能的解决方案是维护第二个 table 和一个计数器。
Here 您可以找到更多关于计数器的信息。
在您的特定情况下,当进行新预订时,您还必须更新柜台 table 信息。
另一件要记住的事情是,Cassandra 中的 tables 旨在满足特定查询。
所以我 运行 的问题是无法 select 我的 table 中的行数。
我的问题是:"Get the most reserved book in a library"
我创建的模型:
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;
我真的觉得我的造型错了。 table 是对 PostgreSQL table 的改编。那么我怎样才能正确地获得每本书的预订数量呢?这种情况下我的PK应该是什么?
很遗憾,Cassandra 没有 GROUP BY 功能。
一个可能的解决方案是维护第二个 table 和一个计数器。
Here 您可以找到更多关于计数器的信息。
在您的特定情况下,当进行新预订时,您还必须更新柜台 table 信息。
另一件要记住的事情是,Cassandra 中的 tables 旨在满足特定查询。