计算列值从一行到下一行的差异

时间:2014-12-09 16:22:22

标签: sql ms-access

我正在使用Access数据库跟踪数百个帐户的实用程序使用情况。这些帐户中的计量表仅具有每月的消费值。我需要拿这个月的消费值并从上个月的价值中减去它。获得本月的消费。我知道在SQL Server中,有一个可以计算这些差异的超前/滞后函数。访问中是否有类似的功能?或者有一种简单的方法可以从上面的一行中减去一行中的值吗?

实施例

The first Line is Billed Date
The Second Line is the Meter Reading
The Third Line is Consumption

1/26/2014
2/25/2014
3/27/2014
4/28/2014
5/26/2014
7/29/2014

0
3163
4567
5672
7065
8468

1538
1625
1404
1105
1393
1403

1 个答案:

答案 0 :(得分:1)

我不太了解你的一些结果,但我认为你想要的东西是:

SELECT Meters.MeterDate, 
     Meters.MeterReading, 
    (SELECT TOP 1 MeterReading 
     FROM Meters m WHERE m.MeterDate <Meters.MeterDate 
     ORDER BY MeterDate DESC) AS LastReading, 
     [MeterReading]-Nz([LastReading],0) AS MonthResult
FROM Meters
ORDER BY Meters.MeterReading;

enter image description here