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

最差是第几名(二)

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

select grade
from 
(
    select
    grade
    ,(select sum(number) from class_grade) total
    ,sum(number) over(order by grade desc) rank1
    ,sum(number) over(order by grade) rank2
    from class_grade
) t
where rank1>=total/2 and rank2>=total/2
order by grade

思路:这里求中位数,利用了中位数是一定大于等于总数一半的。所以我们这里正序逆序对总number建立子查询,然后利用条件求出来。

sql题 文章被收录于专栏

牛客网里面的sql题,把答案和思路写下来

全部评论

相关推荐

03-13 14:21
已编辑
江西警察学院 前端工程师
站队站对牛:红红一大片 天都要塌了
点赞 评论 收藏
分享
04-13 11:19
门头沟学院 HTML5
NullPointe...:27实习的都快结束了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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