-- 考虑到有学生为参加考试导致分数为 NULL 的情况
SELECT
count(*)
FROM
(
SELECT
St.sId,
sum(IFNULL(SC.score, 0)) / count(distinct C.cname) AS avg_score
FROM
Student St
LEFT JOIN SC USING (sId)
LEFT JOIN Course C USING (cId)
GROUP BY
sId
HAVING
sum(IFNULL(score, 0)) / 3 > 60
) t



京公网安备 11010502036488号