- 在这里,我希望每个
trans_date
的期末余额,以便与last_trans_date
相关的期末余额将是我当月的期末余额。 - 示例表:
TRANS_DAT CREDIT DEBIT
--------- ---------- ----------
24-SEP-18 2500 400
24-SEP-18 200
24-SEP-18 500
30-SEP-18 400 1200
30-SEP-18 400
我使用了以下查询:
SELECT TRANS_DATE, SUM(NVL(CREDIT,0)-NVL(DEBIT,0)) BALANCE
FROM BANK_TRANS GROUP BY TRANS_DATE;
输出:
TRANS_DATE BALANCE
--------- ----------
24-SEP-18 2400
30-SEP-18 -400
但是,30-SEP-18
的期末余额应该2000.00
为正确的月末期末余额,但我只得到了当天的期末余额。
请帮我同样的问题。
如果按每个日期分组,则每个日期将获得一行。如果使用trunc()
函数,则可以每月获取行和值:
SELECT trunc(TRANS_DATE,'MONTH'), SUM(NVL(CREDIT,0)-NVL(DEBIT,0)) BALANCE
FROM BANK_TRANS
GROUP BY trunc(TRANS_DATE,'MONTH');