题解 | #查找在职员工自入职以来的薪水涨幅情况#

最差是第几名(二)

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

借鉴其他大佬的思路,先构造区间,最后加上判断奇偶

select grade from
    (select grade, number, sum(number) over(order by grade) s from class_grade
    order by grade)
where (s-number < (select sum(number) from class_grade)*1.0/2 and s >= (select sum(number) from class_grade)*1.0/2)
or (s-number < (select sum(number) from class_grade)*1.0/2+1 and s >= (select sum(number) from class_grade)*1.0/2+1)
limit (select case when sum(number) & 1 = 1 then 1 else 2 end from class_grade)
;
全部评论

相关推荐

07-11 10:56
门头沟学院 Java
码客明:大胆的说自己能实习6个月就行
点赞 评论 收藏
分享
认真搞学习:这么良心的老板真少见
点赞 评论 收藏
分享
机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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