SQL之Running Total,sqlrunningtotal

來源:互聯網
上載者:User

SQL之Running Total,sqlrunningtotal

Running Total是什麼意思呢?


假設我們有一張表:TRANS,表明我們有的交易記錄,其中有一個column是id,另一個是money(表示該筆交易設計的金額),我們的需求就是如何計算每筆交易以後累積的交易總數。例子如下:


id money
1 10
2 20
3 15
4 5
5 50

如果算每次累積的,就依次是10,30,45,50,100。


一種方式:

SELECT T1.ID, T1.MONEY, SUM(T2.MONEY) RUNNING_TOTAL FROM TRANS T1,TRANS T2
WHERE T1.ID >= T2.ID 
GROUP BY T1.ID, T1.MONEY
ORDER BY T1.ID ASC


ORACLE下,也可以使用OVER:

SELECT ID, SUM(MONEY) OVER (ORDER BY ID) RUNNINGT_TOTAL FROM TRANS


參考資料:

http://www.1keydata.com/sql/sql-running-totals.html

http://www.dba-oracle.com/t_over_analytic_function.htm

http://www.1keydata.com/sql/advanced.html


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.