我有一个包含下面的结构数据的表:SQL选择条件
Id | OperationType | ObjectName | dt_created
-- | ------------- | ---------- | ----------
1 | 4 | test.com | 2015-08-30 23:23:57.000
2 | 7 | test.com | 2015-08-30 23:23:57.000
3 | 17 | test.com | 2015-08-30 23:23:57.000
4 | 26 | test.com | 2015-08-30 23:23:57.000
5 | 8 | test.com | 2015-08-30 23:23:57.000
6 | 4 | test.com | 2015-08-30 23:23:57.000
7 | 17 | 123.com | 2015-08-30 23:23:57.000
8 | 18 | 123.com | 2015-08-30 23:23:57.000
9 | 26 | 123.com | 2015-08-30 23:23:57.000
10 | 8 | 123.com | 2015-08-30 23:23:57.000
我想记录的ID的地方有一个操作型其次
我试图像几个方法:
select abc.id, abc.PreviousOperationType from (select id, case when OperationType = 26 then lead(OperationType, 1, 0) over (partition by id order by id) else null end as PreviousOperationType from operation where dt_created between '2015-09-20' and '2015-09-30') as abc where abc.PreviousOperationType is not null and abc.PreviousOperationType= 17
,但没能得到准确的结果。
任何帮助,将不胜感激。
感谢, Ĵ
显示我们预期的结果也是如此。 – jarlh
你正在使用哪个sql server – mansi
你想要Id 3或4的结果? –