我试图找出前几个月和当前年月之间的差异。一个例子是2013年1月的销售总额和2014年1月销售额的销售额差额。这样做是为了看看我们从去年开始做了多少。我有一个小组按月显示总销售额。我在定义如何找到两个月之间的差异方面遇到了麻烦。谢谢您的帮助。非常感谢。
表
Date Sales
1/1/2013 100
1/12/2013 150
1/21/2013 90
1/4/2014 200
1/17/2014 50
1/20/2014 100
分组结果
Jan 2013
340
Jan 2014
350
差分
Jan 2014 - Jan 2013
340 - 350 = 10
答案 0 :(得分:0)
执行此操作的最佳方法取决于数据库。您需要做的第一件事是聚合数据。然后,简单的连接将获得您需要的数据。这是一种方法:
with ym as (
select year(date) as yr, month(date) as mon,
sum(sales) as sales
from table t
group by year(date), month(date)
)
select ym.yr, ym.mon, ym.sales, ymprev.sales as prev_sales,
(ym.sales - ymprev.sales) as diff
from ym join
ym ymprev
on ymprev.yr = ym.yr - 1 and ymprev.mon = ym.mon;