【发布时间】:2016-12-22 11:11:29
【问题描述】:
我有一张各种产品的交易表。我想计算每个人的利润
Product Date Profit Incremental Profit
--------------------- --------------------------- -----------
Apple 2016-05-21 100
Banana 2016-05-21 60
Apple 2016-06-15 30
Apple 2016-08-20 10
Banana 2016-08-20 5
我能否创建一个 SQL 查询,该查询可以基于产品进行分组,并在每个日期为每个产品提供增量利润。例如,在 2015 年 5 月 21 日,因为这是第一次约会,所以增量利润将为 0。但在 2016 年 6 月 15 日,它将是 -70 (30-100)。
预期的输出是:
Product Date Profit Incremental Profit
--------------------- --------------------------- -----------
Apple 2016-05-21 100 0
Banana 2016-05-21 60 0
Apple 2016-06-15 30 -70
Apple 2016-08-20 10 -20
Banana 2016-08-20 5 -55
【问题讨论】:
-
也添加预期的结果。 (复制、粘贴和调整!)
-
行是否总是按数据排序?我的意思是我可以只取最后一个条目,而不是按日期查找最后一个条目吗?
-
@jarlh 我已经添加了预期的输出表。
-
@JanWalczak 这些行需要排序,因为增量利润将基于两个连续日期之间的利润差异。
-
请问您的记录是否添加了排序日期。表中较早的日期总是较高?
标签: sql .net sql-server database sql-server-2008