查找每科成绩大于70的学生

9 查找每科成绩大于70的学生

我们有一张学生科目成绩表score_info_table,这张表记录了每一位同学每一科目的成绩,每一位同学的每科成绩是一行,现在我们想要通过这张表获取到每科成绩都大于70分的学生。

score_info_table表如下所示:

idnamesubjectscore
1王小凤语文88
2张文华数学70
3徐雨秋英语92
1王小凤语文55
2张文华数学77
3徐雨秋英语77
1王小凤语文72
2张文华数学91
3徐雨秋英语93

自己先想一下代码怎么写,然后再参考我的代码。

select 
 id
    ,name
 from
    demo.score_info_table
 group by
    id
    ,name
 having 
    min(score) > 70    

解题思路:

我们是要获取每科成绩大于70的学生,只要能够保证最小成绩是大于70分的,就说明这位同学每科成绩都大于70分.所以第一步就是先获取每位同学的最小成绩,先对name进行group by分组,再在组内求最小值,然后将最小成绩大于70分的同学通过having筛选出来即可。最后运行结果如下:

idname
3徐雨秋
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值