Исходя из данных вашего примера, вот как я бы сделал скользящую сумму (или совокупную сумму ).Вы можете найти дополнительную информацию в Аналитические функции Oracle.
create table test (id number, value number);
insert into test values (1, 100);
insert into test values (2, 300);
insert into test values (3, 500);
insert into test values (4, 800);
select id, value,
sum(value) over (order by id rows between unbounded preceding and current row) as total
from test
order by id;
Вывод:
1 100 100
2 300 400
3 500 900
4 800 1700