Running Total Column In Table

  1. DECLARE @RunTotal REAL=0  
  2. DECLARE @Temp TABLE(ID INT IDENTITY,OrderDate DATE ,OrderAmount REAL ,RunningTotal REAL)  
  3. INSERT INTO @Temp (OrderDate ,OrderAmount ,RunningTotal )  
  4. SELECT '2016-06-01' ,1500 ,0 UNION ALL  
  5. SELECT '2016-06-04' ,2550 ,0 UNION ALL  
  6. SELECT '2016-06-05' ,1000 ,0 UNION ALL  
  7. SELECT '2016-06-06' ,1250 ,0 UNION ALL  
  8. SELECT '2016-06-07' ,1100 ,0 UNION ALL  
  9. SELECT '2016-06-08' ,800 ,0 UNION ALL  
  10. SELECT '2016-06-11' ,5625 ,0 UNION ALL  
  11. SELECT '2016-06-12' ,1235 ,0 UNION ALL  
  12. SELECT '2016-06-13' ,555 ,0 UNION ALL  
  13. SELECT '2016-06-14' ,985 ,0  
  14. -- First Method  
  15. -- Running Total Through correlated subquery  
  16. SELECT ID ,OrderDate ,OrderAmount ,(SELECT SUM(OrderAmount) FROM @Temp B WHERE A.ID>=B.ID) AS RunningTotal FROM @Temp A  
  17. --Second Method  
  18. -- Running Total with Help of Variable  
  19. UPDATE @Temp SET @RunTotal=RunningTotal=OrderAmount+@RunTotal  
  20. SELECT * FROM @Temp