给定一个汽车的表格和他们在不同日期(每月的第一个月)读取里程表的数据,我如何编写TSQL(理想情况下,用作SQL Server视图)以返回“增量”值?计算TSQL中的非累积值?
换句话说,我想从Calculate a Running Total in SQL Server的反向操作。
例子:
在此表:
CarId | Date | Mileage --------------------------- 1 1/1/2000 10000 1 2/1/2000 11000 1 3/1/2000 12000 2 1/1/2000 10000 2 2/1/2000 11001 2 3/1/2000 12001 3 1/1/2000 10000 (missing datapoint for (3, 2/1/2000)) 3 3/1/2000 12000
我们会返回类似(细节/边缘情况灵活):
CarId | Date | Delta --------------------------- 1 1/1/2000 10000 1 2/1/2000 1000 1 3/1/2000 1000 2 1/1/2000 10000 2 2/1/2000 1001 2 3/1/2000 1000 3 1/1/2000 10000 3 3/1/2000 2000
我假设“缺少数据点”意味着表中没有一行,不是有一行,但里程是“NULL”。 – 2013-02-13 12:01:50
也许是一个观点。正如您在答案中所评论的那样,我提到了在其他解答之一中看到的基本数据插入。 – Nico 2013-02-13 12:14:49
在我的情况下,特别是,我们确实有空值的记录应该被忽略。 – 2013-02-25 15:52:42