Możesz dołączyć do stołu samodzielnie, w Twoim przypadku działa coś takiego:
SELECT
*
FROM
yourTable a
INNER JOIN yourTable b ON a.ID = b.ID + 1
WHERE TIMESTAMPDIFF(second, a.timestamp, b.timestamp) > 60
Ale może to być brzydkie, gdy masz luki w kolumnie ID. A zwłaszcza może to być brzydkie (pod względem wydajności (gdy nie masz dobrych indeksów na stole)) kiedy masz *dużo danych.
Proponuję więc użyć nieco bardziej zaawansowanych zapytań wykorzystujących zmienne. Bez konieczności dołączania do stołu zwykle działa to dość szybko:
SELECT * FROM (
SELECT
yt.*,
TIMESTAMPDIFF(second, @prevTS, `timestamp`) AS timedifference,
@prevTS:=yt.`timestamp`
FROM
yourTable yt
, (SELECT @prevTS:=(SELECT MIN(`timestamp`) FROM yourTable)) vars
ORDER BY ID
)subquery_alias
WHERE timedifference > 65
- zobacz, jak działa na żywo w sqlfiddle
Aby jeszcze bardziej ulepszyć to zapytanie, aby wyświetlić dwa wiersze, w których różnica czasu jest zbyt duża, nie powinno stanowić problemu :) Jeśli jednak wpadniesz w poważne kłopoty, możesz zapytać.