100 de enero, 200 de febrero, 100 de marzo, 200 de abril. Las estadísticas son las siguientes: 100 de enero, 300 de febrero, 500 de marzo, 600 de abril. [Es para contar el total de todos los meses anteriores una vez al mes]
Ir directamente a sql
select month,amount,sum(amount) over(order by month asc) from expense;
select t.* ,(select sum(amount) from expense where month <= t.month) from expense t;
Ambos métodos de escritura SQL son compatibles con Oracle y el segundo método de escritura no es compatible con Spark SQL.
Date prisa, para no preguntar si te quedas sin palabras.