月度累加,年度累加(多年)-Sum Over

sum over可以完美解决历史累加的问题

 其中有数据的跨年问题,需要年度重新统计,就在partition by中增加年字段即可

select
	PROJ_ID                                                                                           -- 项目id       
	,PLAN_MTH                                                                                          -- 计划月   
	,PLAN_ORDER_AMT  AS PLAN_ORDER_AMT_M                                                              -- 计划认购金额(月)
	,sum(PLAN_ORDER_AMT) over (partition by PROJ_ID,PLAN_YR order by PLAN_MTH ) AS PLAN_ORDER_AMT_Y   -- 计划认购金额(年)
	,PLAN_CNTRT_AMT AS PLAN_CNTRT_AMT_M                                                               -- 计划签约金额(月)
	,sum(PLAN_CNTRT_AMT) over (partition by PROJ_ID,PLAN_YR order by PLAN_MTH ) AS PLAN_CNTRT_AMT_Y   -- 计划签约金额(年)
FROM edw.CAMP_PROJ_MTH_PLAN 
WHERE DT='20210831' 
AND PROJ_ID IS NOT NULL
AND proj_id ='013c68d27e6d49e48fa220e02fa56fbf'

每个sum值如果要保持一致

猜你喜欢

转载自blog.csdn.net/someInNeed/article/details/120045268