#解法1 select grade, sum(number) over ( order by grade ) from class_grade order by grade #解法2 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' ) when 'D' then ( select sum(number) from class_grade where grade <= 'D' ) else ( select sum(number) from class_grade ) end ) FROM class_grade order by grade asc