sql查询时间大于某一时间_用一条SQL语句查询出每门课都大于80粉的学生姓名

1、用一条SQL语句查询出每门课都大于80粉的学生姓名

题目数据如下:

f38eeef6a8a91e4cb82aa6ca58e472e2.png

分析:每门课都大于80分,就是说学生最低分数要大于80分,我们直观看只有"王五"这个学生每门课分数都在80分以上。

解决思路:这里需要用到聚合函数min(score),查询出最低分数大于80分的学生即可。使用了聚合函数,条件就需要使用having语句。

第一步,查询姓名,最低分数。

8e193fef35c06cdc9f6258a041352ec0.png

第二步,这里只能查询出最低分数的那个人。需要改进,根据用户名分组(group by name),这样就能查询出每个人的最低分数。

3961ea3f99f76eef8efe9811148e9e5c.png

第三步,查询出了每个人的最低分数,我们只需要得到最低分数大于80的学生。通过having语句来筛选。

1661497cb7c2983436a9e5a17df8c6f9.png

第四步,我们得到了"王五"的信息,满足我们的要求,但是不是最终的需求,最终的需求是得到每门课大于80分的学生姓名。这样,我们需要再嵌套一个语句,只得到姓名。

ab77239f938100bdd4b68821f8411919.png

select 

name

from 

(select name,min(score) 

from student 

group by name

having min(score)>80) 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值