我有一个表,其中所有记录都有一个 id、时间戳和一个布尔值。我需要发现在哪些记录中,布尔值在同一 ID 为真后的 1 秒内变为假。
我一直在研究以下语句,但在做了一些研究之后,我觉得 CASE 与 FETCH 语句结合起来可能会更好,但我还没有找到一个很好的例子,它们一起使用。
SELECT *
FROM Table_1
WHERE timestamp IN(
SELECT DATEADD(Second, 1, timestamp)
from Table_1
where Boolean = 1)
AND ID in (
SELECT ID
from Table_1 where Boolean = 1)
AND Boolean = 0