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

考试分数(二)

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

知识点

  1. 建立一个新表加上一列各岗位平均值,使用窗口函数,筛选条件就是score大于平均分

代码

select id, job, score
from(
     select *, avg(score) over(partition by job) as avs
     from grade) as g1
where score > avs
order by id

补充

  1. 一开始的想法是id是唯一的,id in (select id from grade group by job having score>avg(score))
  2. 但是这样结果不全因为这里avg是总的平均,没有按照部门进行分组平均
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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