当前位置: 代码迷 >> Sql Server >> 同一个id号的多条记要,检查这些记录的时间字段相差小于5秒的有哪些
  详细解决方案

同一个id号的多条记要,检查这些记录的时间字段相差小于5秒的有哪些

热度:5   发布时间:2016-04-27 10:55:04.0
同一个id号的多条记录,检查这些记录的时间字段相差小于5秒的有哪些
同一个id号的多条记录,把这些同一id号记录的时间字段相差小于5秒的记录,select出来,,
大家看看有什么高效的好方法。。

------解决方案--------------------
用datediff(ss,上一个时间,本次时间)<=5来筛选那些间隔小于五秒的数据。
------解决方案--------------------
如果你的数据是'00102821',我建议你处理的时候要硬性指定前面两个,比如2000102821这样
------解决方案--------------------
SQL code
     select *          from TB a             where exists (select * from TB b  where b.time > a.time and b.time < dateadd(ss,5,a.time))
------解决方案--------------------
SQL code
SELECT * FROM TB WHERE EXISTS (SELECT * FROM TB A WHERE ABS(DATEDIFF(SS,A.TIME,B.TIME))<5)
------解决方案--------------------
参照一下这个,对于能用JOIN的联接,尽量少用EXISTS和IN
SELECT * FROM TB A 
INNER JOIN TB B 
ON A.ID=B.ID
AND A.TIME<>B.TIME
AND ABS(DATEDIFF(SS,A.TIME,B.TIME))<5
  相关解决方案