Можете сами да се присъедините към масата, нещо подобно работи във вашия случай:
SELECT
*
FROM
yourTable a
INNER JOIN yourTable b ON a.ID = b.ID + 1
WHERE TIMESTAMPDIFF(second, a.timestamp, b.timestamp) > 60
Но това може да стане грозно, когато имате пропуски в колоната за идентификация. И особено може да стане грозно (по отношение на производителността (когато нямате добри индекси на масата)), когато имате *много на данни.
Така че, бих предложил да използвате малко по-разширени заявки, използващи променливи. Без да е необходимо да присъединявате таблицата към себе си, това обикновено работи доста бързо:
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
- вижте как работи на живо в sqlfiddle
За по-нататъшно подобряване на тази заявка за показване на двата реда, където разликата във времето е твърде голяма, не би трябвало да е проблем :) Когато попаднете в сериозни проблеми, не се колебайте да попитате.