2016-12-03 62 views
-1

表dbo.Update包含更新发生的时间以及按人员ID输入的日期时间。计算行之间的时间

在我的结果集我需要包括更新的时间,谁创造了更新,但也因为之前的更新

例如时间;

ID Datetime  Person  Time Between 
1  0900hrs  1   - 
2  0947hrs  2   47m 
3  1030hrs  1   43m 

dbo.Update中的行数会有所不同,有时候差异可能会持续数天甚至数周。

我不知道如何做到这一点,如果有人可以帮助?

在此先感谢!

〜D

+1

你有什么试过的?向我们展示你的尝试。什么工作,什么不工作?顺便说一句,你已经问了几个问题的答案,但没有回票。请奖励你的助手。 – nicomp

+0

用您正在使用的数据库标记您的问题。 –

回答

0

您的语法建议您使用的是SQL Server。在SQL Server 2012+中,只需使用lag()

select t.*, 
     datediff(minute, lag(datetime) over (order by datetime), datetime) as diff_in_minutes 
from t; 
+0

谢谢,我只是偶然发现了类似的东西 - 工程请客选择Q *,DATEDIFF(第二,PDIFF,的DateField) FROM( SELECT *, LAG(的DateField)OVER(ORDER BY的DateField)PDIFF FROM DBO。表 )q –