SQL Server-检索每月数据(未累计)

SQL Server-检索每月数据(未累计),sql,sql-server,Sql,Sql Server,我有一张有两个字段的桌子 年月日 总数 该表包含全年每月的累计总数。 我想查询每个月的“未累计”总数 例如,201806的总和等于201806的总和减去201805的总和 有小费吗?谢谢 窗口函数可用于根据订单获取以前的值 看起来你只是想从总数中减去上个月的总数 SELECT DATE_YYYYMM, TOTAL, TOTAL - ISNULL(LAG(TOTAL) OVER (ORDER BY DATE_YYYYMM), 0) AS UNACCUMULATED FROM YourYearT

我有一张有两个字段的桌子

年月日 总数

该表包含全年每月的累计总数。 我想查询每个月的“未累计”总数

例如,201806的总和等于201806的总和减去201805的总和

有小费吗?谢谢

窗口函数可用于根据订单获取以前的值

看起来你只是想从总数中减去上个月的总数

SELECT 
DATE_YYYYMM, 
TOTAL,
TOTAL - ISNULL(LAG(TOTAL) OVER (ORDER BY DATE_YYYYMM), 0) AS UNACCUMULATED
FROM YourYearTotalsTable

可以使用分析函数LAG(从sql-server-2012开始)将当前行中的值与前一行中的值进行比较

SELECT
     [date_yyyymm]
    ,[current_total] = [total]
    ,[previous_total] = LAG([total], 1, 0) OVER (ORDER BY [date_yyyymm])
    ,[unacumulated] = [total] - LAG([total], 1, 0) OVER (ORDER BY [date_yyyymm])
FROM [your_table]
ORDER BY [date_yyyymm];

你能提供一些样本数据和预期结果吗?有样本数据吗?预期结果?你试了什么?谢谢!这就是我需要的。