RDBMS - 最新的 Oracle
我在这里不合时宜。我需要按帐户和按月组织帐户交易信息,并使用另一列显示年初至今的总交易。这是我想要得到的东西的描述
ACCT_ID | ACCT_MM | FISCAL_YYYY | FISCAL_MM_AMT | YTD_AMT
------------------------------------------------------------
1 | 11 | 2018 | 25 | 100
1 | 12 | 2018 | 50 | 150
1 | 01 | 2019 | 20 | 20
我知道您可以通过 ACCT_MM 与 FISCAL_MM_AMT 获得 FISCAL_MM_AMT,FISCAL_YYYY 这就是我迄今为止所想出的全部内容。
SELECT ACCT_ID,ACCT_MM,FISCAL_YYYY,SUM(NVL(ACCT_TRNSCTN_AMT,0))
FROM TBL_ACCT_DETAIL
GROUP BY ACCT_ID,ACCT_MM,FISCAL_YYYY
现在如何将它与附加列 YTD_AMT 相结合,以将当年到当前月份的所有总数相加,这让我感到困惑。sql noob ftw。
尝试分析函数SUM
如下:
SELECT T.*,
SUM(FISCAL_MM_AMT)
OVER (PARTITION BY ACCT_ID, FISCAL_YYYY
ORDER BY ACCT_MM) AS YTD_AMT
FROM
(SELECT ACCT_ID,ACCT_MM,FISCAL_YYYY,SUM(NVL(ACCT_TRNSCTN_AMT,0)) AS FISCAL_MM_AMT
FROM TBL_ACCT_DETAIL
GROUP BY ACCT_ID,ACCT_MM,FISCAL_YYYY);
干杯!!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句