sql >> Databasteknik >  >> RDS >> Mysql

SQL JOIN två tabeller med AVG

Du måste GRUPPERA EFTER alla fält du vill behålla:

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

Alternativt kan du bara göra så här:

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


  1. Hur man skapar General Ledger/T-Account med PHP Mysql

  2. Hur kan jag kontrollera om mysql-tabellkolumnen ens existerar?

  3. PostgreSQL långsam på ett stort bord med arrayer och massor av uppdateringar

  4. Med Oracle kombinera tre tabeller till en med PIVOT