关于中位数的推论:当正序和逆序均大于总数的一半(向下取整)时,即为中位数

select grade from (

select
      grade,
      (select sum(number) from class_grade) as total ,
      sum(number) over(
        order by
          grade asc
      ) as rank1,
      sum(number) over(
        order by
          grade desc
      ) as rank2
    from
      class_grade
    ) t1
    where rank1 >= total / 2  and rank2 >= total / 2  
    order by 1 asc