题解 | #得分不小于平均分的最低分#

得分不小于平均分的最低分

http://www.nowcoder.com/practice/3de23f1204694e74b7deef08922805b2

根据题意把符合条件的数据先列出来成为新的表格

with e as(
select er.score
from exam_record er
left join examination_info ei
on er.exam_id=ei.exam_id
where ei.tag='SQL'
and er.score is not null
)

再找出所有大于等于平均数的数据,找出最小的分数

with e as(
select er.score
from exam_record er
left join examination_info ei
on er.exam_id=ei.exam_id
where ei.tag='SQL'
and er.score is not null
)
select 
min(score) min_score_over_avg
from e
where score>=(select avg(score) from e)
全部评论
哦,子查询,把这个查询语法上看,with as就是将SQL语句中单独的子查询语句提取出来,作为一个单独的命名进行组织。在原来的语句中,就可以使用新的别名来替代。
1 回复 分享
发布于 2022-02-06 14:57
前面 with e as 是什么意思吗?
点赞 回复 分享
发布于 2022-01-05 00:23
with e 什么意思了啊
点赞 回复 分享
发布于 2022-02-06 14:54
这个好,可读性高而且性能好,并且思路清晰
点赞 回复 分享
发布于 2022-04-05 12:15
为什么把这个临时表写入from中做字查询,就报错了呢?
点赞 回复 分享
发布于 2023-08-05 16:43 广东

相关推荐

offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
14
1
分享
牛客网
牛客企业服务