Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL JOIN zwei Tabellen mit AVG

Sie müssen alle Felder, die Sie behalten möchten, GROUP BY:

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

Alternativ können Sie auch einfach Folgendes tun:

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