SQL在基于线性时间的表中查找孔

时间:2010-10-14 20:19:27

标签: sql datetime

我在MySQL和SQL服务器中有一个基于线性日期时间的表,用于基于时间的数据收集系统。此表中需要有一个新条目,每10秒钟将加上时间戳。有时,数据收集源会暂停一段时间并重新启动,此时会将最新数据插入到表中,并生成一个新线程以开始回填“漏洞”。

我是否可以使用SQL语句查找十秒值中的最后一个“漏洞”,以便知道从哪里开始索取备份数据?

谢谢!

1 个答案:

答案 0 :(得分:1)

对于SQL Server,尝试这样的事情:

SELECT TOP 1 
    DATEADD(second,-10,t1.YourDateColumn)
    FROM YourTable t1
    WHERE NOT EXISTS (SELECT 1
                          FROM YourTable t2 
                          WHERE DATEADD(second,-10,t1.YourDateColumn) = t2.YourDateColumn)
    ORDER BY t1.YourDateColumn DESC