某列在兩條相鄰的記錄之間的差值

求某列在兩條相鄰的記錄之間的差值,可擴展應用

求出符合條件的記錄,以下語句是以時間作爲差值條件

1: 表變量的方法

declare @a table (tid int identity(1,1),id int,t1 datetime)

insert into @a(id,t1) select id,updatetime from book order by id

--select * from @a

select aaa.id,aaa.t1,bbb.id2,bbb.t2 from @a as aaa inner join(select tid as tid2,id as id2,t1 as t2 from @a ) as bbb on aaa.tid=bbb.tid2-1 where datediff(mi,aaa.t1,bbb.t2)>20

2:直接查詢法,效率高

Select id,updatetime
from book a
where datediff(mi,updatetime,(select top 1 updatetime from book where id > a.id order by id) ) > 20
order by id

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章