我遇到了一个问题。我只是想计算一下我桌子的平衡。
我选择的语句是:
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;