Creating a cumulative sum column in MySQL

前端 未结 4 413
野性不改
野性不改 2020-12-21 04:07

Sample table ID: (num is a key so there wouldn\'t be any duplicates)

num
1
5
6
8
2
3

Desired output:
(Should be sorted and have a cumul

4条回答
  •  旧巷少年郎
    2020-12-21 04:22

    as these answer i already tested in my project and actually i want to know which one is faster so i also posted this here which one is faster

    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
    

提交回复
热议问题