вопрос MySQL подзапроса - PullRequest
1 голос
/ 08 июля 2011

Я обычно полон решимости самостоятельно решать подобные вопросы, но мои навыки работы с MySQL являются только базовыми, и это меня запутало.

В основном, я ищу, чтобы выбрать количество названий, которые имеют отзывы о них в определенной категории. Затем я хочу отобразить результаты, но отобразить среднюю оценку для этого заголовка (и количество обзоров), основываясь на ВСЕХ категориях обзоров, а не только на выбранном. Выбранный просто используется для отображения тех названий, которые есть отзывы в этих категориях.

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

SELECT t.*, ROUND(AVG(r.rating)) as rating,
COUNT(r.rating) as ratingscount
FROM `titles` t LEFT JOIN `reviews` r ON t.titleid = r.titleid
WHERE approved = '1' AND category = 'category'
GROUP BY t.titleid ORDER BY rating DESC, ratingscount DESC limit 0, 10

Любая помощь будет принята с благодарностью и остановит меня, чтобы я больше не теряла свои и без того ослабленные волосы!

1 Ответ

0 голосов
/ 31 августа 2011

Вы можете группировать по нескольким полям, поэтому попробуйте ...

    GROUP BY t.titleid, category 

... для начала

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...