我有一个表格,其中包含每个日期的日期和关注者增长情况,并希望制作一个新列,描述获得的关注者总数。
如何插入一个新列,基本上添加了新的关注者'列到求和系列?
date | new followers
-----------------------
1/1/15 | 1
1/2/15 | 3
1/3/15 | 5
1/4/15 | 4
1/5/15 | 3
新表格看起来像
date | new followers | total followers gained
------------------------------------------------
1/1/15 | 1 | 1
1/2/15 | 3 | 4
1/3/15 | 5 | 9
1/4/15 | 4 | 13
1/5/15 | 3 | 16
答案 0 :(得分:0)
这个SQL将通过Select完成您想要的任务。如果确实需要在表中保留此值,则可以在触发器中使用此SQL。但是既然你可以动态计算这个数额,我不确定你为什么坚持它。
declare @tempTable table (theDt datetime, newFollowers int)
insert into @tempTable
select '1/1/15',1
UNION select '1/2/15',3
UNION select '1/3/15',5
UNION select '1/4/15',4
UNION select '1/5/15',3
select t1.theDt,
t1.newFollowers + SUM(case when t2.theDt IS not null then t2.newFollowers else 0 end) as "Total Followers"
from @tempTable t1
left outer join @tempTable t2 on t1.theDt > t2.theDt
group by t1.theDt, t1.newFollowers
order by t1.theDt