select
    t1.grade,
    sum(t1.number) over(order by t1.grade asc rows between unbounded preceding and current row) as t_rank
from
(select *
from class_grade
order by grade) t1