使用avg()并加入mysql

时间:2016-10-07 03:06:15

标签: mysql sql

说我有一张叫做学生的桌子

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

1 个答案:

答案 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