题解 | #最差是第几名(二)#

https://www.nowcoder.com/practice/165d88474d434597bcd2af8bf72b24f1

构造  最小和最大排名区间 的简化方法

看到有小伙伴用了最大和最小排名,但是用的的union连接,可以将union简化为between(考虑了奇偶)
select grade
from
  (select 
     grade,number,total,max_rank-number+1 as min_rank,max_rank
   from
     (select 
        grade,number,sum(number) over(order by grade) max_rank,
        sum(number)over() as 'total'
      from class_grade
     )a1
   )a2
where floor((total+1)/2) between min_rank and max_rank
   or floor((total+2)/2) between min_rank and max_rank


全部评论

相关推荐

09-29 16:59
已编辑
门头沟学院 Java
牛客96609213...:疯狂背刺,之前还明确设置截止日期,还有笔试,现在一帮人卡在复筛,他反而一边开启扩招,还给扩招的免笔试,真服了,你好歹先把复筛中的给处理了再说
投递大疆等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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