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

最差是第几名(二)

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

select 
grade
from(
    select 
    grade,
    lag(sum,1,0) over(order by grade) as lag_sum,
    sum,
    n1,
    n2
    from(
        
        select grade,
        sum(number)over(order by grade) sum,
        floor(((select sum(number) from class_grade)+1)/2) as n1,
        ceil(((select sum(number) from class_grade)+1)/2) as n2
        from class_grade
    )a

)b
where (n1>lag_sum and n1<=sum) or (n2>lag_sum and n2<=sum)
order by grade

最直观的方法去看中位数落在哪个区间。

全部评论

相关推荐

10-15 10:23
门头沟学院 Java
牛可乐的头像真牛:赶紧举报,这公司绝对是诈骗的,等你签约后工作一两个月后根据合同漏洞把你开除,并且要求你赔偿3w培训费,996是为了提前筛选心甘情愿签下合同容易受骗的群体,纯粹面向校招生精心设计的骗局
你见过哪些工贼行为
点赞 评论 收藏
分享
11-13 12:02
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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