SQL计算与上一行的时间差
SQL calculate time difference with previous row
我有代码可以提供订单号、预计送达时间、实际送达时间以及两者的差值。
如果订单延迟,我需要将差额添加到下一个订单以显示新的预计交货时间。
如何让 SQL 返回到上一行并获得计算出的差异以添加到预计交货时间? LAG 不可用,因为我们使用的是 2012 SQL Shell.
这从以前的记录中获取当前日期时间的日期差异
WITH orders AS
(SELECT *, ROW_NUMBER() OVER (ORDER BY datetimecolumn) AS rownum
FROM mytable
)
SELECT DATEDIFF(second, curr.est_tod, prev.act_tod)
FROM orders curr
INNER JOIN orders prev
ON curr.rownum = prev.rownum - 1
我有代码可以提供订单号、预计送达时间、实际送达时间以及两者的差值。
如果订单延迟,我需要将差额添加到下一个订单以显示新的预计交货时间。
如何让 SQL 返回到上一行并获得计算出的差异以添加到预计交货时间? LAG 不可用,因为我们使用的是 2012 SQL Shell.
这从以前的记录中获取当前日期时间的日期差异
WITH orders AS
(SELECT *, ROW_NUMBER() OVER (ORDER BY datetimecolumn) AS rownum
FROM mytable
)
SELECT DATEDIFF(second, curr.est_tod, prev.act_tod)
FROM orders curr
INNER JOIN orders prev
ON curr.rownum = prev.rownum - 1