Oracle : crear una suma acumulada
Para crear una suma acumulada usaremos las funciones analíticas de oracle. Un ejemplo completo
Con order by indicamos el campo de ordenación
--creacion de la tablaCon partition dividimos en grupos.
create table gastos(nombre varchar2(30),dia integer,gasto integer);
--inserción de datos de prueba
insert into gastos values('diego',1,10);
insert into gastos values('diego',2,20);
insert into gastos values('diego',3,30);
insert into gastos values('fede',1,5);
insert into gastos values('fede',2,20);
insert into gastos values('fede',3,10);
--agrupa por nombre, ordena por día
select nombre,dia,gasto, sum(gasto) over (partition by nombre order by dia desc rows unbounded preceding) sum_acu from gastos;
Con order by indicamos el campo de ordenación
Comentarios
De pronto le sirva este post, para que el código se vea más bonito :).
http://www.creandoweb.net/2012/04/resaltador-de-sintaxis.html