要是有小伙伴想一起刷题讨论的,请私信我QAQ,身边完全没有相同专业的小伙伴!!!!
要是有路过的大佬可以解答疑问就更好了QAQ
正在刷https://www.jianshu.com/p/3f27a6dced16 的第十五题
具体题目也就是 “查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩”
我和该博主的思路基本一致但是有一些问题!!
先贴段代码:
select a.s_id, student.s_name, b.avg_score from (select s_id from score where score< 60 group by s_id having count(*) >= 2) a -- 表a两门及以上不及格学生的学号 left join student on a.s_id = student.s_id left join (select s_id, avg(score) as avg_score from score group by s_id) b on a.s_id=b.s_id;
这个是博主的答案,我的思路基本上和他一致。
但是在我尝试写两门及以上不及格学生的学号,也就是表a括号内的这一部分
select s_id from score where score< 60 group by s_id having count(*) >= 2
单独运行这一段发生了错误,但是整段代码确实可以运行出来,请问这是什么原因呢?
以及我也尝试了加上student那段,也就是
select a.s_id, student.s_name from (select s_id from score where score< 60 group by s_id having count(*) >= 2) a -- 表a两门及以上不及格学生的学号 left join student on a.s_id = student.s_id
也是错误的,不知道原因是什么,希望有路过的大神指教!!!
以及有同在刷题想讨论题目的小伙伴快快私信我!
谢谢大家~
全部评论
(2) 回帖