说我有一张叫学生的桌子
idStudent Name
1 Billy
2 Mariah
3 Chris
4 Mark
5 Sarah
还有另一个表叫做测试
idTest score student_idstudent
1 50 1
2 100 1
3 90 2
4 100 3
5 45 4
是否可以使用join和avg()的组合来获得类似的结果
idStudent avg_test
1 75
2 90
3 100
4 45
5 0
最佳答案
SELECT s.idStudent,
AVG(COALESCE(t.score, 0)) AS avg_test
FROM students s
LEFT JOIN tests t
ON s.idStudent = t.student_idStudent
GROUP BY s.idStudent