Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Creating a cumulative sum column in MySQL
- num
- 1
- 5
- 6
- 8
- 2
- 3
- num cumulative
- 1 1
- 2 3
- 3 6
- 5 11
- 6 17
- 8 25
- select a.num, sum(b.num) from ID a, ID b where b.num <= a.num group by a.num order by a.num;
- Select num as n,
- (select sum(num) from ID where num <= n)
- from ID order by n;
- SELECT a.num,
- (@s := @s + a.num) AS cumulative
- FROM ID a, (SELECT @s := 0) dm
- ORDER BY a.num;
- declare @tmp table(ind int identity(1,1),col1 int)
- insert into @tmp
- select 2
- union
- select 4
- union
- select 7
- union
- select 5
- union
- select 8
- union
- select 10
- SELECT t1.col1,sum( t2.col1)
- FROM @tmp AS t1 LEFT JOIN @tmp t2 ON t1.ind>=t2.ind
- group by t1.ind,t1.col1
- select t1.col1,(select sum(col1) from @tmp as t2 where t2.ind<=t1.ind)
- from @tmp as t1
Add Comment
Please, Sign In to add comment