sql – 按月滚动或运行Oracle总计

前端之家收集整理的这篇文章主要介绍了sql – 按月滚动或运行Oracle总计前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目标:每个月末所有报表的滚动/运行总计.

码:

select 
    TRUNC(ACTHX.STMT_HX_STMT_DATE,'MM') AS MNTH,COUNT(ACTHX.INVOICE) as STMTS
from ACTHX
group by
    TRUNC(ACTHX.STMT_HX_STMT_DATE,'MM')
ORDER BY
    TRUNC(ACTHX.STMT_HX_STMT_DATE,'MM')

电流输出

MNTH        STMTS
7/1/2009    1
10/1/2010   4
6/1/2011    26
9/1/2011    211
10/1/2011   163
11/1/2011   119

期望的输出

MNTH        STMTS
7/1/2009    1
10/1/2010   5
6/1/2011    31
9/1/2011    242
10/1/2011   405
11/1/2011   524

解决方法

听起来你想要跑步总数.您可以使用分析SUM函数.
select mnth,sum(stmts) over (order by mnth) stmts
  from (select TRUNC(ACTHX.STMT_HX_STMT_DATE,COUNT(ACTHX.INVOICE) as STMTS
          from ACTHX
         group by TRUNC(ACTHX.STMT_HX_STMT_DATE,'MM'))
 ORDER BY mnth

猜你在找的MsSQL相关文章