数据分析】有无正在刷SQL面试50题的同学或者已经刷完的大佬

要是有小伙伴想一起刷题讨论的,请私信我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

也是错误的,不知道原因是什么,希望有路过的大神指教!!!
以及有同在刷题想讨论题目的小伙伴快快私信我!
谢谢大家~

#笔试题目##SQL Server#
全部评论
select s_id from score where score< 60 group by s_id having count(*) >= 2 这个我在本地测试没问题啊,另外最好别用COUNT(*),这里可以用COUNT(课程号),可以私信我联系方式,一起交流
1 回复
分享
发布于 2020-08-01 09:46
我也是数据分析,可以一起交流嘛😀
点赞 回复
分享
发布于 2020-08-11 19:41
联易融
校招火热招聘中
官网直投

相关推荐

点赞 7 评论
分享
牛客网
牛客企业服务