解法一  case when 
select grade ,
case grade when 'A' then (select sum(number) from class_grade where grade <='A')
when 'B' then (select sum(number) from class_grade where grade <='B')
when 'C' then (select sum(number) from class_grade where grade <='C')
else (select sum(number) from class_grade where grade <='D')
end as t_rank
from class_grade
order by grade
解法二  自连接
select a.grade,sum(b.number) as t_rank
from class_grade as a
join class_grade as b
on a.grade>=b.grade
group by a.grade
order by a.grade;
解法三 窗口函数sum() over()
select grade,sum(number) over(order by grade) as t_rnk
from class_grade
order by grade;