900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 11. 查询两门及以上不及格课程的同学的学号 姓名及其平均成绩

11. 查询两门及以上不及格课程的同学的学号 姓名及其平均成绩

时间:2024-06-24 03:23:18

相关推荐

11. 查询两门及以上不及格课程的同学的学号 姓名及其平均成绩

11. 查询两门及以上不及格课程的同学的学号,姓名及其平均成绩

关键词“学生姓名、平均成绩、课程”

第一步: 锁定表,学生表,成绩表

第二步: 过滤出所有小于60分的成绩,并按学生Sid分组,获取记录条数大于等于2Sid

SELECT sid FROM sc WHERE score < 60 GROUP BY sid HAVING COUNT(sid) >= 2;

第三步: 每个学生的平均成绩

SELECT sid,AVG(score) AS avg_score FROM sc GROUP BY sid;

第四步: 学生表关联平均成绩表,获得每个学生的学号,姓名及其平均成绩

SELECT st.Sid,st.Sname,b.avg_score FROM student stJOIN (SELECT sid,AVG(score) AS avg_score FROM sc GROUP BY sid) b ON st.Sid = b.Sid;

第五步: 结合第二步筛选出最终结果

SELECT st.Sid,st.Sname,b.avg_score FROM student stJOIN (SELECT sid,AVG(score) AS avg_score FROM sc GROUP BY sid) b ON st.Sid = b.SidWHERE st.sid IN(SELECT sid FROM sc WHERE score < 60 GROUP BY sid HAVING COUNT(sid) >= 2);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。