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

考试分数(五)

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

WITH j AS (SELECT job,ceil(count(*)/2) start,floor(count(*)/2)+1 end
           FROM grade
           GROUP BY job),
     t AS (select *,ROW_NUMBER() over(partition by job order by score desc) t_rank
           from grade)
select t.*
from t join j on t.job=j.job
where start=t.t_rank or end = t.t_rank
ORDER BY id

要求输出的t_rank没有说清楚是什么排序,如果是其他的排序如rank或者desen_rank,那么就要多加一个字段 where条件必须使用ROW_NUMBER()这个字段来判断

全部评论

相关推荐

07-24 12:30
湘潭大学 营销
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-21 17:59
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
07-02 22:46
门头沟学院 Java
码农索隆:hr:“管你投没投,先挂了再说”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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