0

给定一个带有“记录”日期时间字段的表。

当表格按记录排序时,如何选择所有记录的日期/时间在其之前的记录之后超过 5 分钟的记录。或者换句话说,大于 5 分钟的记录之间的差距在哪里。

目前,我在 C# 中通过迭代集合并将记录 n 与记录 n+1 进行比较来执行此操作。

是否可以使用 sql 执行此操作,最好不使用游标?

4

1 回答 1

1

使用 CTE 方法怎么样。

WITH mrows AS
(
     SELECT  *, ROW_NUMBER() OVER (ORDER BY recorded) AS rn
     FROM    Table_name
)


SELECT * 
FROM   mrows mr1 INNER JOIN mrows mr2
ON     mr1.rn = mr2.rn - 1
WHERE  datediff(mm, mr1.recorded, mr2.recorded) = 5;
于 2013-05-03T05:00:16.800 回答