繁体   English   中英

使用“更新到本地变量”来计算分组的运行总计

[英]Using “Update to a local variable” to calculate Grouped Running Totals

由于它似乎是禁食的方法,因此我尝试使用“更新为局部变量”方法来计算SQL中的运行总计。 要为此添加一个额外的层,我对能够对运行总计进行分组很感兴趣,但是我无法理解在哪里对我的查询进行调整以执行此操作(或者甚至可以使用此方法) 。 任何和所有帮助将不胜感激。

下面是我用来创建查询的代码,以及第一篇导致我使用此方法的文章。 我怎样才能修改查询到对每一个DAYCOUNT运行总复位

http://geekswithblogs.net/Rhames/archive/2008/10/28/calculating-running-totals-in-sql-server-2005---the-optimal.aspx

DECLARE @SalesTbl TABLE (DayCount smallint, Sales money, RunningTotal money)

DECLARE @RunningTotal money

SET @RunningTotal = 0

INSERT INTO @SalesTbl 
SELECT DayCount, Sales, null
FROM Sales
ORDER BY DayCount

UPDATE @SalesTbl
SET @RunningTotal = RunningTotal = @RunningTotal + Sales
FROM @SalesTbl

SELECT * FROM @SalesTbl

谢谢

赖利

注释中的链接使我能够提出正确的编码。 下面是在上面的示例中,如何将更新功能修改为按天分组。

UPDATE @salestbl
SET @RunningTotal = RunningTotal = sales +
    CASE WHEN daycount=@lastday THEN @RunningTotal ELSE 0 END
   ,@lastday=daycount
FROM @salestbl

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM