SQL Server 2008 中LEAD 與LAG 函數的替代方法
問題:
問題:SELECT t.* FROM table t JOIN table tnext ON t.id = tnext.id - 1 AND t.StatusId = 1 AND tnext.StatusId = 6 AND DATEDIFF(SECOND, t.MinStartTime, tnext.MinStartTime) < 60;另一種方法是執行自連接:
SELECT t.* FROM table t JOIN table tnext ON t.id = tnext.id - 1 AND t.StatusId = 1 AND tnext.StatusId = 6 AND DATEDIFF(SECOND, t.MinStartTime, tnext.MinStartTime) < 60 AND DATEPART(MINUTE, t.MinStartTime) = DATEPART(MINUTE, tnext.MinStartTime);此查詢將傳回目前行狀態為1、下一行狀態為6 以及之間的時間差的行兩行小於60 秒。 如果需要精確的分鐘匹配,可以修改查詢:
以上是如何在沒有 LEAD 和 LAG 的情況下比較 SQL Server 2008 中的相鄰行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!