【发布时间】:2015-11-30 18:13:49
【问题描述】:
我的数据是这样的
item date country sales
----------------------------------------
motorola 2015-01-01 US 10
motorola 2015-01-01 UK 20
motorola 2015-01-02 US 40
motorola 2015-01-02 UK 80
motorola 2015-01-03 US 120
motorola 2015-01-03 UK 150
motorola 2015-01-04 US 170
motorola 2015-01-04 US 180
我想获取摩托罗拉从 2015 年 1 月 2 日到 2015 年 1 月 4 日的每日销售增量。
例如
- 2015 年 1 月 1 日的总销售额为 10(美国)+ 20(英国)= 30
- 2015 年 1 月 2 日的总销售额为 120,因此每日销售额增量(当日销售额减去 D-1)为 90
- 2015 年 1 月 3 日的总销售额为 270,因此每日增量为 150
- 2015 年 1 月 4 日的总销售额为 350,因此每日增量为 80
我期待结果元组:
date dailyDelta
2015-01-02 90
2015-01-03 150
2015-01-04 80
得到这个的语法是什么?我正在使用 SQL Server 2012。
谢谢
【问题讨论】:
-
如果您发布代码、XML 或数据示例,请在文本编辑器中突出显示这些行并单击编辑器上的“代码示例”按钮 (
{ })工具栏以很好地格式化和语法突出显示它!如果您发布错误消息,请使用块引号 ( ` " ` ) 正确格式化错误消息。 -
您可以为此使用 LAG() 窗口函数。
标签: sql sql-server database aggregate-functions