【发布时间】:2018-07-24 07:46:57
【问题描述】:
我有一个包含人员、日期和数量的 SALES 表:
Person Date Qty
Bob 2016-08-01 5
Bob 2016-08-02 2
Bob 2016-08-03 6
Bob 2016-08-04 4
Jim 2016-08-01 1
Jim 2016-08-02 3
Jim 2016-08-03 2
Jim 2016-08-04 2
Sheila 2016-08-03 9
Sheila 2016-08-04 12
我想产生 3 个输出
1) 前一天销售人员的每日总数量变化:
Date Qty Change Pct Change
2016-08-01 0 0 0.00
2016-08-02 5 -1 -16.66
2016-08-03 8 3 60.00
2016-08-04 18 1 5.88
请注意,2016 年 8 月 1 日是我数据集中的第一天,因此总计 = 0,因为前一天没有销售人员在销售。另请注意,Sheila 于 8/3 开始销售,这意味着此处 8/3 的销售额并未计入 8/3 的数量或变化。但是,在确定 8/4 变化时,Sheila 的 8/3 销售 9 个单位用于确定 8/4 的 1 个单位的正确总变化。
2) 我想每天在一行中列出新销售人员的总数。如果没有添加新的销售人员,则日期将显示为零。
Date New Qty
2016-08-01 6
2016-08-02 0
2016-08-03 9
2016-08-04 0
由于 8 月 1 日是任何人销售的第一天,因此 Bob 和 Jim 的销售都包含在 8 月 1 日的新数量 6 中。
3) 最终输出显示 #2 的详细信息,例如新销售人员开始销售的日期以及当天销售的数量。
Date Person New Qty
2016-08-01 Bob 5
2016-08-01 Jim 1
2016-08-03 Sheila 9
这 3 个输出在 SQL Server 中是否可能?
【问题讨论】:
-
是的。一切皆有可能。第一个和第二个有点复杂,但可以做到。
-
你试过什么?向我们展示您当前的查询尝试。
-
什么版本的 SQL Server?
标签: sql sql-server sum