sql分组按月总和和按月总和

卡梅伦海尔曼

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章