题解 | #最差是第几名(二)#
最差是第几名(二)
http://www.nowcoder.com/practice/165d88474d434597bcd2af8bf72b24f1
/* SELECT grade, sum(number) over(order by grade) FROM class_grade; SELECT grade, sum(number) over(order by grade desc) FROM class_grade */ SELECT t1.grade FROM (SELECT grade, sum(number) over(order by grade) as r FROM class_grade) as t1 join (SELECT grade, sum(number) over(order by grade desc) as r FROM class_grade) as t2 on t1.grade = t2.grade where t1.r >= (SELECT sum(number) FROM class_grade)/2 and t2.r >= (SELECT sum(number) FROM class_grade)/2;