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

考试分数(二)

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

方法1 窗口函数

SELECT id, job, score
FROM grade a
WHERE score> (
	SELECT AVG(score)
	FROM grade b
	WHERE a.job = b.job)
ORDER BY a.id
select id, job, score 
from (
    select * , avg(score) over(partition by job) av 
    from grade
) a
where score > av 
order by id 

方法2 join

select id, job, score 
from grade a 
left join (
    select b.job, avg(score) av 
    from grade b  
    group by job 
) c using (job)
where a.score > c.av
order by a.id;
全部评论

相关推荐

01-17 08:34
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务