with t as (
    select grade, number,
    (select sum(number) from class_grade) as total,
    sum(number) over (order by grade) as sum1,
    sum(number) over (order by grade desc) as sum2
    from class_grade
)
select grade
from t
where sum1>=total/2 and sum2>=total/2
order by grade