如何找到乱序记录 - SQL?

Ric*_*ins 2 t-sql sql-server

假设我有一个带有ID标识列的表,一些数据和一个日期戳.像这样:

1   data    5/1/2013 12:30
2   data    5/2/2013 15:32
3   data    5/2/2013 16:45
4   data    5/3/2013 9:32
5   data    5/5/2013 8:21
6   data    5/4/2013 9:36
7   data    5/6/2013 11:42
Run Code Online (Sandbox Code Playgroud)

如何编写一个查询,向我显示一个时间戳为5/4的记录?该表有数百万条记录.我做了一些搜索,但我不知道该怎么称呼我正在寻找的东西.:/

t-c*_*.dk 7

declare @t table(id int, bla char(4), timestamp datetime)
insert @t values
(1,'data','5/1/2013 12:30'),
(2,'data','5/2/2013 15:32'),
(3,'data','5/2/2013 16:45'),
(4,'data','5/3/2013 9:32'),
(5,'data','5/5/2013 8:21'),
(6,'data','5/4/2013 9:36'),
(7,'data','5/6/2013 11:42')

select timestamp
from
(
  select rn1 = row_number() over (order by id), 
  rn2 = row_number() over (order by timestamp), timestamp
  from @t 
) a
where rn1 not in (rn2, rn2-1)
Run Code Online (Sandbox Code Playgroud)