首页 > 解决方案 > 如何与特定范围的记录求和

问题描述

我有桌子

tax  number  yearmonth(int)
100   45    202105
2     45    202104  
35    45    202102
47    45    202012
58    45    202005

我尝试在过去 12 个月内汇总每个数字的总和 例如 202105 - 我需要 (202012 - 202001) 之间的总和月份 主要问题 -> 并非每个数字都有全部 12 个月

我尝试了 over 子句,但它总结了所有 12 个前面的记录。它不考虑丢失的年份记录。

case when yearmonth-lag(yearmonth,1) OVER ( order by  number, yearmonth) <> (0) then
    sum([tax])  OVER (
     PARTITION BY [number]
       ORDER BY yearmonth
     Rows BETWEEN  11 PRECEDING AND CURRENT ROW ) end 

标签: sqlsql-servertsql

解决方案


推荐阅读