题解 | #考试分数(二)#

考试分数(二)

https://www.nowcoder.com/practice/f456dedf88a64f169aadd648491a27c1

select t.id, t.job,t.score from (
                            select *,avg(score) over (partition by job) avg_  from grade 
) as t
where t.score > t.avg_
order by t.id

三种方式:子查询,内连接,窗口函数

法一:窗口函数

如上【大概意思就是从窗口函数里取】

法二:内连接

select t1.* from grade t1

left join (select job,avg(score) avg_from grade group by job) t2

on t1.job=t2.job

where t1.score>t2.avg_

order by t1.id

法三:子查询

select * from grade t1

where score>(select avg(score) from grade t2

where t1.job=t2.job)#一定不要忘where t1.job=t2.job,否则报错

order by id asc

全部评论

相关推荐

06-27 18:53
门头沟学院 Java
这样才知道自己不适合搞代码,考公去咯
只爱喝白开水:我也发现不适合搞代码,打算转非技术方向了
点赞 评论 收藏
分享
nus22016021404:兄弟,你这个简历撕了丢了吧,就是一坨,去找几个项目,理解项目流程,看几遍就是你的了,看看八股就去干了,多看看牛客里别人发出来的简历,对着写,你这写的啥啊,纯一坨
点赞 评论 收藏
分享
05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务