当前12个月与之前12个月的销售额-滚动

时间:2019-12-02 01:57:26

标签: sql rolling-computation

我还是SQL新手

我的桌子 列:InDate,销售

我想比较从今天开始的12个月与过去12个月的销售情况

我需要什么:

Current Month | Sale |  Past Month | Sale
Nov           | $550 |  Nov         | $450

我可以使用以下查询获得当前的12个滚动月份:

SELECT SO_VInv.InvDate
FROM SO_VInv
where SO_VInv.InvDate >= DATEADD(month, -12, GETDATE())

我可以使用以下查询获得当前的24个滚动月份:

SELECT SO_VInv.InvDate
FROM SO_VInv
where SO_VInv.InvDate >= DATEADD(month, -24, GETDATE())

但是我不知道如何度过过去的12个月,例如从2017年2月11日至2018年2月11日,超过12个月,且没有固定日期。

1 个答案:

答案 0 :(得分:0)

如果您每月有一行,请使用窗口功能:

SELECT i.InvDate,
       i.sale,
       SUM(i.sale) OVER (ORDER BY i.InvDate
                         ROWS BETWEEN 11 PRECEDING AND CURRENT ROW
                        ) as sales_rolling_12
FROM SO_VInv i;