题目:统计每个班级每门课程的平均分,以及该门课程的最高分和学生。显示:班级名称、课程名称、平均分、最高分、最高分姓名。
我做出来的最高分姓名显示是错误的……请问改怎么写呢?
我写的sql:
SELECT cl.`name` 班级名称,co.`name` 课程名称,CAST(AVG(ss.score) AS DECIMAL(5,2)) 平均分,
MAX(ss.score) 最高分,st.`name` 最高分姓名 FROM class cl
LEFT JOIN class_course cc ON cl.id = cc.class_id
LEFT JOIN course co ON co.id=cc.course_id
LEFT JOIN student_score ss ON ss.course_id=cc.course_id
LEFT JOIN student st ON st.id=ss.student_id
GROUP BY cl.`name`,co.`name`
ORDER BY ss.score DESC;
下图是表:
下面是执行结果:全是王一。。