Мне нужно сделать добавочную сумму в Oracle.
Моя ситуация следующая:
RecordID Value 1 1 2 2 3 5 4 10
И мне нужно получить что-то вроде этого:
RecordID Sum_incremental 1 (1) 2 (1 + 2) 3 (1 + 2 + 5) 4 (1 + 2 + 5 + 10)
select recordid, sum(value) over (order by recordid) from some_data
Подсказки: самостоятельное объединение и группировка по.
Решение:
select a.recordid, sum(b.value) sum_incremental from mytable a, mytable b where b.recordid <= a.recordid group by a.recordid