计算余额Oracle



我遇到了一个问题。我只是想计算一下我桌子的平衡。

我选择的语句是:

select date, ammount, ?? as Balance 
from table 
where accountnr = 123 
order by date

输出应该是这样的:

日期弹药余额
2016年2月7日-145.55 945.652016年1月25日349.45 1091.202015年11月11日340.25 741.752015年9月30日369.10 401.502015年4月5日32.40 32.40

我尝试了这么久,用不同的方式,但没有成功。

您可以通过分析查询在单个表扫描(即没有任何联接或相关的子查询)中完成:

SELECT "date",
       amount,
       SUM( amount ) OVER ( ORDER BY "date" ) AS balance
FROM   your_table;

如果表中有多个帐户,则:

SELECT account_number,
       "date",
       amount,
       SUM( amount ) OVER ( PARTITION BY account_number ORDER BY "date" ) AS balance
FROM   your_table;

最新更新