sql >> Base de Datos >  >> RDS >> Mysql

SQL JOIN dos tablas con AVG

Debe AGRUPAR POR todos los campos que desea conservar:

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

Alternativamente, podrías simplemente hacer esto:

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