У меня есть эта таблица «Рейтинги», содержащие USER_ID, Artist_ID и рейтинг (int, оценка, назначенная пользователем). И, конечно, таблица «Художники», среди прочего, поле «ID» и «Name».Список с именами художников, отсортированных по среднему рейтингу от таблиц MySQL
Я пытаюсь получить по убыванию с именами авторов, отсортированные по счету AVG для художников. Сначала я думал, что это будет не так сложно, но я продолжаю возиться ...
Вот где я застрял. Я должен выяснить, как он может вычислить AVG() идентификаторов, которые происходят несколько раз. И я пробовал различные запросы, используя ключевое слово DISTINCT, но не добился успеха.
Например:
SELECT Name, Rating
FROM Artists as a
INNER JOIN Ratings as r
ON a.ID = r.Artists_ID
ORDER BY r.Rating DESC;
дает мне результат:
Name Rating
"The Mars Volta" 9.5
"Simon Felice" 9.0
"Laura Gibson" 8.0
"Calexico" 7.0
"Mira" 7.0
"Guido Belcanto" 6.0
"Guido Belcanto" 1.0
Как вы можете видеть, художник "Guido Belcanto" имеет более чем 1 рейтинг. В настоящий момент я не имею в виду, как вычислить AVG() этих идентификаторов, которые происходят более одного раза. Это, вероятно, основной MySQL, но я, возможно, искать в неправильном направлении
Спасибо! GROUP BY был именно тем, что мне нужно – JSS
рад узнать, что это сработало. Не забудьте принять ответ: D – Toote