3
我有了这种格式记录的表:此过程的光标替代方法?
SPECIAL_ID | OTHER_ID | NAME | TIMESTAMP
我需要创建基于关闭的这个新表,但只拿到相距至少25分钟从以前的一个记录。间隔不一致。所以,如果我从记录1开始,我需要从记录1的时间戳中获取至少25分钟的下一个记录。这将是新表中的记录2。然后下一个记录是上一个提取后的25分钟。所以,这里是信息的一个例子:
AAA | 1 | WHATEVER2 | 2016-11-20 00:00:00
BCD | 2 | WHATEVER00 | 2016-11-20 00:02:00
AAA | 3 | WHATEVER01 | 2016-11-20 00:09:00
AAA | 4 | WHATEVER55 | 2016-11-20 00:20:00
XYZ | 5 | WHATEVER | 2016-11-20 00:24:00
AAA | 6 | WHATEVER11 | 2016-11-20 00:45:00
QRS | 7 | WHATEVER | 2016-11-20 00:46:00
QRS | 8 | WHATEVER12 | 2016-11-20 00:59:00
AAA | 9 | WHATEVER12 | 2016-11-20 01:02:00
AAA |10 | WHATEVER12 | 2016-11-20 01:17:00
什么我试图做的事:
AAA | 1 | WHATEVER2 | 2016-11-20 00:00:00
AAA | 6 | WHATEVER11 | 2016-11-20 00:45:00
AAA |10 | WHATEVER12 | 2016-11-20 01:17:00
我设法使用游标并测试了一小部分的记录。它的工作....但我有百万记录,需要用这种方式进行分析。看起来,光标只是要求麻烦。
有没有更好的方法来做到这一点?
我被SQL Server 2008卡住了,所以lead()
和lag()
是不可能的。
任何帮助非常感谢。