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

考试分数(五)

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

1.上一题找到中位数:
select job,
round(count(score)/2) start,
case count(score)%2
when 1 then round(count(score)/2)
when 0 then round(count(score)/2)+1
end as end
from grade g
GROUP by job;t2

2.显示每个id在所在岗位的排名t_rank
select id,job,score,ROW_NUMBER()over(partition by job order by score desc) t_rank
from grade;t1

3.把t1表中t_rank等于中位数(start和end)的id 的信息查出来即可
select t2.id,t2.job,t2.score,t_rank
from (select id,job,score,ROW_NUMBER()over(partition by job order by score desc) t_rank
from grade)t2
join(select job,
round(count(score)/2) start,
case count(score)%2
when 1 then round(count(score)/2)
when 0 then round(count(score)/2)+1
end as end
from grade g
GROUP by job)t1
on t2.job=t1.job
where t_rank=start or t_rank=end
order by t2.id

全部评论

相关推荐

和蔼:在竞争中脱颖而出,厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
扭转乾坤_:现在企业都是学华为,一直通过丢池子里,最后捞
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务