我建议您为此使用视图:
CREATE VIEW Table1_vw ASWITH cte AS ( SELECt *, ROW_NUMBER() OVER (ORDER BY RecordTime) AS rn FROM dbo.Table1)SELECt mc.RecordTime, mc.Running, mc.Fault, DATEDIFF(second, mc.RecordTime, mp.RecordTime) DiffFROM cte mcLEFT JOIN cte mpON mc.rn = mp.rn - 1
由于您使用的是 SQL Server 2012 ,因此可以使用LEAD函数:
CREATE VIEW Table1_vw ASSELECt RecordTime, Running, Fault, DATEDIFF(second,RecordTime,LEAD(RecordTime,1,NULL) OVER (ORDER BY RecordTime ASC) ) as DiffFROM Table1GO



