Suppose we have a table like following:
And now we want a query that select a cumulative sum column along with other columns like following:
We can use pl/sql variables like below to generate the above result:
transaction_id | acc_no | amount |
1 | 100001 | 20000 |
2 | 100002 | 30000 |
3 | 100003 | 30000 |
4 | 100004 | 10000 |
5 | 100005 | 50000 |
And now we want a query that select a cumulative sum column along with other columns like following:
transaction_id | amount | cumulative |
1 | 20000 | 20000.0 |
2 | 30000 | 50000.0 |
3 | 30000 | 80000.0 |
4 | 10000 | 90000.0 |
5 | 50000 | 140000.0 |
select transaction_id, amount, (@cum_sum:=@cum_sum+amount) as "cumulative" from account JOIN (select @cum_sum := 0.0) B;