In Ihrem Fall die id
s numerisch zu sein scheinen, können Sie einfach einen Self-Join durchführen:
select t.*
from table t join
table tnext
on t.id = tnext.id - 1 and
t.StatusId = 1 and
tnext.StatusId = 6 and
datediff(second, t.MinStartTime, tnext.MinStartTime) < 60;
Das ist nicht ganz dieselbe Minute. Es ist innerhalb von 60 Sekunden. Benötigen Sie tatsächlich die gleiche Kalenderzeit Minute? Wenn ja, können Sie Folgendes tun:
select t.*
from table t join
table tnext
on t.id = tnext.id - 1 and
t.StatusId = 1 and
tnext.StatusId = 6 and
datediff(second, t.MinStartTime, tnext.MinStartTime) < 60 and
datepart(minute, t.MinStartTime) = datepart(minute, tnext.MinStartTime);