题解 | 丝滑 极致享受

考试分数(五)

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

select id,t1.job job,score,rn t_rank
from(select id,job,score,row_number()over(partition by job order by score desc) rn
from grade) t1 
left join
(select job,case when c%2=0 then round(c/2) else round((c+1)/2) end start,case when c/2=0 then round((c/2)+1) else round((c+1)/2) end end
from(select job,count(job) c
from grade
group by job) t
order by job) t2
on t1.job=t2.job
where rn=start or rn=end
order by id

全部评论

相关推荐

04-28 22:33
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务