说我有一张叫做学生的桌子
idStudent Name
1 Billy
2 Mariah
3 Chris
4 Mark
5 Sarah
和另一个名为tests
的表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
答案 0 :(得分:1)
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