Du kan själv gå med i bordet, något sånt här fungerar i ditt fall:
SELECT
*
FROM
yourTable a
INNER JOIN yourTable b ON a.ID = b.ID + 1
WHERE TIMESTAMPDIFF(second, a.timestamp, b.timestamp) > 60
Men det här kan bli fult när du har luckor i din ID-kolumn. Och speciellt kan det bli fult (prestandamässigt (när man inte har bra index på bordet)) när man har *massor av data.
Så jag skulle föreslå att du använder lite mer avancerade frågor med variabler. Utan att behöva ansluta bordet till sig självt går detta vanligtvis ganska snabbt:
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
- se det fungera live i sqlfiddle
Att ytterligare förbättra denna fråga för att visa de två raderna där tidsskillnaden är för stor borde inte vara ett problem :) När du hamnar i allvarliga problem, fråga gärna.