나는이 테이블에 USER_ID, Artist_ID 및 등급 (int, 사용자가 지정한 점수)을 포함합니다. 그리고 물론 "아티스트"테이블과 다른 "ID"및 "이름"테이블.아티스트 이름 목록 MySQL 테이블의 평균 등급순으로 정렬
당 평균 AVG 점수로 정렬하여 아티스트 이름으로 내림차순 목록을 얻으려고합니다. 처음에는 이것이 어렵지 않을 거라 생각했지만, 나는 계속 바이올린을 치기 시작했습니다 ...
여기에 내가 붙어 있습니다. 여러 번 발생하는 ID의 AVG()를 계산하는 방법을 알아 내야합니다. 그리고 DISTINCT 키워드를 사용하여 다양한 쿼리를 시도했지만 성공하지 못했습니다. 예를 들어
:
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
당신이 볼 수 있듯이, 작가 "귀도 벨칸토는"1 개 이상의 등급이 :
SELECT Name, Rating
FROM Artists as a
INNER JOIN Ratings as r
ON a.ID = r.Artists_ID
ORDER BY r.Rating DESC;
나에게 결과를 제공합니다. 나는 한 번 이상 발생하는 ID의 AVG()를 계산하는 방법에 대한 단서가 없습니다. 아마 기본 MySQL의이다 그러나 나는 어쩌면 당신은 당신의 쿼리에 GROUP BY
을 잊었
고마워요! GROUP BY는 정확히 내가 필요로하는 것이었기 때문에 기쁜 마음으로 – JSS
이 필요했습니다. 답을 수락하는 것을 잊지 마십시오 : D – Toote