【问题标题】:SQL Difference Between Sum of Two Months两个月总和之间的 SQL 差异
【发布时间】:2014-05-14 00:49:41
【问题描述】:

我正在尝试找出往年月份和当年月份之间的差异。例如,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

【问题讨论】:

  • 您使用的是什么关系型数据库? (日期格式可能暗示 MS SQL Server 或 Access)
  • 进入系统的格式为mm/dd/yyyy

标签: sql


【解决方案1】:

执行此操作的最佳方法取决于数据库。您需要做的第一件事是聚合数据。然后一个简单的连接就会得到你需要的数据。这是一种方法:

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;

【讨论】:

  • 谢谢。这是完美的。
猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2020-09-12
  • 2014-04-07
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 2015-06-21
相关资源
最近更新 更多