SQL Server 2005中的备用LAG函数

时间:2014-03-06 16:58:14

标签: tsql sql-server-2005

也许有人可以帮助我。我正在使用SQL Server 2005,我无法使用lag函数。

我有一张桌子:

2014-02-03 07:42:00.000
2014-02-03 18:49:00.000
2014-02-06 14:54:00.000
2014-02-07 17:58:00.000
2014-02-20 13:39:00.000

我如何得到这个结果:

2014-02-03 07:42:00.000 NULL
2014-02-03 18:49:00.000 2014-02-03 07:42:00.000 
2014-02-06 14:54:00.000 2014-02-03 18:49:00.000 
2014-02-07 17:58:00.000 2014-02-06 14:54:00.000 
2014-02-20 13:39:00.000 2014-02-07 17:58:00.000 

2 个答案:

答案 0 :(得分:0)

假设您的表名为dt,列x则为:

    select x,(select max(x) from dt d2 where d2.x<d1.x) from dt d1 

答案 1 :(得分:0)

即使在SQL Server 7中这也不起作用!

fiddle

select min(date),null from datetable
union
select t1.date, max(t2.date)
from dateTable t1
join dateTable t2 on t2.date < t1.date
group by t1.date