2017-08-10 71 views
-2

我想寫一個SQL查詢來計算每個客戶每天的運行總數。我想創建一個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表中的客戶,但有困難的時候也有很多。

預先感謝您。

如果您需要更多信息,請讓我知道。

+0

發佈您已經完成的代碼。 – kaineub

+0

是不是第4列RunningTotal的列記錄? –

+0

SELECT乾旱,ARTransactionID,ARTransactionAmount, (SELECT SUM(ARTransactionAmount) FROM #XXX T2 WHERE T2.ARTransactionID <= T1.ARTransactionID)AS通過ARTransactionID RunningTotal FROM T1 #XXX爲了 是 –

回答

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 

這將爲工作表中相對少量的記錄。對於大數據量,這需要進一步完善。

+0

謝謝。正如你所說,它正在爲小數據量工作。表中有350萬條記錄。即使在等待20分鐘後,該查詢也不起作用。 –

+0

使用一批100/1000的批處理邏輯 –