Puoi unirti al tavolo da solo, qualcosa del genere funziona nel tuo caso:
SELECT
*
FROM
yourTable a
INNER JOIN yourTable b ON a.ID = b.ID + 1
WHERE TIMESTAMPDIFF(second, a.timestamp, b.timestamp) > 60
Ma questo può diventare brutto quando hai delle lacune nella colonna ID. E soprattutto può diventare brutto (in termini di prestazioni (quando non hai buoni indici sul tavolo)) quando ne hai *molti di dati.
Quindi, suggerirei di utilizzare query un po 'più avanzate utilizzando le variabili. Senza la necessità di unire il tavolo a se stesso, questo in genere funziona abbastanza velocemente:
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
- guardalo in funzione dal vivo in sqlfiddle
Per migliorare ulteriormente questa query per visualizzare le due righe in cui la differenza di tempo è troppo grande non dovrebbe essere un problema :) Quando ti trovi in guai seri, sentiti libero di chiedere, però.