我想创建一个SQL查询,用于每天计算每个客户的运行总计

时间:2017-08-10 03:26:49

标签: sql sql-server database

我想编写一个SQL查询来计算每个客户每天的运行总量。

例如:

CustomerID   TranDate  TranAmount RunningTotal
-----------------------------------------------
C1             8/1/17    $10        $10
C2             8/1/17    $15        $15
C1             8/2/17    $20        $30
C2             8/2/17    $30        $45
C3             8/3/17    $50        $50

我能够创建运行总计如果表中只有1个客户,但是当有很多客户时遇到困难。

提前谢谢。

如果您需要任何进一步的信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

使用以下查询:

SELECT A.Customer,A.TranDate, 
SUM(B.TranAmount) AS RunningTotal FROM 
TableA AS A Inner Join TableA AS B
ON A.CustomerID=B.CustomerID AND 
A.TranDate<=B.TranDate
GROUP BY A.Customer,A.TranDate

这适用于记录数量相对较少的表。对于大数据量,需要对其进行改进。