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建立子查询,然后利用条件求出来。