Ошибка в запросе SQL. Не получается посчитать количество отзывов о книгах
У меня есть 2 таблицы
Таблица ratings
Содержит данные о пользовательских оценках книг:
rating_id — идентификатор оценки;
book_id — идентификатор книги;
username — имя пользователя, оставившего оценку;
rating — оценка книги.
Таблица reviews
Содержит данные о пользовательских обзорах на книги:
eview_id — идентификатор обзора;
book_id — идентификатор книги;
username — имя пользователя, написавшего обзор;
text — текст обзора.
Они связаны ключом по book_id
Мне нужно посчитать для каждой книги количество обзоров и среднюю оценку. Пишу код:
SELECT
ra.book_id,
ROUND(AVG(ra.rating), 2) AS avg_raiting,
COUNT(re.review_id) AS reviews
FROM
ratings AS ra
JOIN
reviews AS re ON ra.book_id = re.book_id
GROUP BY ra.book_id
ORDER BY ra.book_id
Получаю таблицу:
Проблема в том, что всего ревью в БД 2793, а у меня в запросе сумма reviews 26167. Подскажите, пожалуйста, в чём ошибка в моём запросе. Не пойму =(
