#解法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



京公网安备 11010502036488号