Подсчет столбцов, которые не являются ПК - Кассандра - PullRequest
0 голосов
/ 27 июня 2018

Итак, я столкнулся с проблемой невозможности выбрать количество строк в моей таблице.

Моя проблема: «Получить самую зарезервированную книгу в библиотеке»

Модель, которую я создал:

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. Так как же мне правильно рассчитать количество бронирований для каждой книги? Каким будет мой ПК в этом случае?

1 Ответ

0 голосов
/ 27 июня 2018

К сожалению, у Кассандры нет функции GROUP BY.

Возможным решением будет сохранение второй таблицы со счетчиком.

Здесь вы можете найти дополнительную информацию о счетчиках.

В вашем конкретном случае, когда вы делаете новое бронирование, вам также необходимо обновить информацию таблицы счетчиков.

Еще одна вещь, которую нужно иметь в виду, заключается в том, что таблицы в Cassandra предназначены для выполнения определенного запроса.

...