求某列在两条相邻的记录之间的差值,可扩展应用
求出符合条件的记录,以下语句是以时间作为差值条件
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
本文介绍两种方法来查询数据库中记录的时间差超过特定阈值的情况:一是通过表变量实现,二是采用直接查询的方式,后者效率更高。适用于需要监控记录间时间间隔的应用场景。
2058

被折叠的 条评论
为什么被折叠?



