如何计算预言机查询中每个trans_date的期末余额?


  1. 在这里,我希望每个trans_date的期末余额,以便与last_trans_date相关的期末余额将是我当月的期末余额。
  2. 示例表:

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');

最新更新