首页 > 代码库 > SQL之Running Total
SQL之Running Total
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 FROMTRANS 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
SQL之Running Total
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。