SQL 查询获取延迟时间



我有一个表,里面有两个字段,分别是RunId和LastUpdate。 我正在尝试将一个查询放在一起,该查询可以获取 LastUpdated 日期时间并获得与以前的 RunId 的时差,但可能存在差距。 例:

RunId  LastUpdated
110    2020-05-11 05:06:27.000
113    2020-05-11 05:06:31.000

有没有办法获取 RunId 和时间差异,如下所示:

RunId     TimeDiff
113       0:00:04

感谢您提供任何信息

可以使用lag()获取上一个运行 ID 的上次更新值:

select t.*, lag(lastupdate) over (order by runid) as prev_lastupdated
from t;

然后,您可以使用特定于数据库的日期/时间函数来获取差异。 它可能像-一样简单,也可能需要一个特殊的功能。