Mysql
 sql >> Base de données >  >> RDS >> Mysql

SQL JOIN deux tables avec AVG

Vous devez GROUPER PAR tous les champs que vous souhaitez conserver :

SELECT songs.id, songs.song, songs.artist, 
    AVG(score.score * 1.0) AS AvgScore
FROM songs 
    LEFT JOIN score 
        ON score.id=songs.id 
GROUP BY songs.id, songs.song, songs.artist
ORDER BY songs.id, score DESC

Sinon, vous pouvez simplement faire ceci :

SELECT songs.id, songs.song, songs.artist, 
    (SELECT AVG(Score) FROM score WHERE score.id = songs.id) AS AvgScore)
FROM songs