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