Я просто не могу понять, как получить средний рейтинг и посчитать комментарии из моей базы данных mysql.
У меня есть 3 таблицы (активность, рейтинг, комментарии). Активность содержит основные данные о «действиях», рейтинг содержит рейтинги и комментарии - конечно же, рейтинги.
activity_table
id | title |short_desc | long_desc | address | lat | long |last_updated
rating_table
id | activityid | userid | rating
comment_table
id | activityid | userid | rating
Сейчас я пытаюсь получить данные об активности, а также комментарии_счета и среднее_рейтинг в одном запросе.
SELECT activity.*, AVG(rating.rating) as average_rating, count(comments.activityid) as total_comments
FROM activity LEFT JOIN
rating
ON activity.aid = rating.activityid LEFT JOIN
comments
ON activity.aid = comments.activityid
GROUP BY activity.aid
... не выполняет работу. Это дает мне правильное среднее значение, но неправильное количество комментариев.
Есть идеи?
Большое спасибо!