题解 | #最差是第几名(二)#
最差是第几名(二)
http://www.nowcoder.com/practice/165d88474d434597bcd2af8bf72b24f1
常规写法
select grade from
(select grade,
sum(number) over(order by grade)-number+1 lower,
sum(number) over(order by grade) upper
from class_grade)a
where floor(((select sum(number) from class_grade)+1)/2) between lower and upper
or floor(((select sum(number) from class_grade)+2)/2) between lower and upper