W Twoim przypadku id
s wydają się być numeryczne, możesz po prostu wykonać samodołączenie:
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;
To nie jest ta sama minuta. To jest w ciągu 60 sekund. Czy rzeczywiście potrzebujesz tej samej minuty czasu kalendarzowego? Jeśli tak, możesz zrobić:
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);