一、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩
SELECT st.`s_name`,s.`s_id`,AVG(s_score) AS total FROM score s
LEFT JOIN student st ON st.`s_id`=s.`s_id` AND s_score > 60
看到这个题目的时候,想这届用这条sql求出平均值大于等于60的成绩,但是最后发现只能得到总成绩的平均分
SELECT st.`s_name`,s.`s_id`,AVG(s_score) AS total FROM score s
JOIN student st ON st.`s_id`=s.`s_id` AND s_score > =60 GROUP BY s_id
所以我们要加上 group by,对结果进行分组
这样就完成了一道sql语句练习
二、查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩-- (包括有成绩的和无成绩的)
SELECT b.s_id,b.s_name,ROUND(AVG(a.s_score),2) AS avg_sco