#算总数 with c as(select sum(number) as c1 from class_grade), t1 as (#算正序累计频数s1,逆序累计频数s2 select *, sum(number) over(order by grade asc) as s1, sum(number) over(order by grade desc) as s2 from class_grade) select t1.grade from t1,c where s1>=c.c1/2 and s2>=c.c1/2 order by t1.grade