Anda dapat bergabung sendiri dengan tabel, sesuatu seperti ini berfungsi dalam kasus Anda:
SELECT
*
FROM
yourTable a
INNER JOIN yourTable b ON a.ID = b.ID + 1
WHERE TIMESTAMPDIFF(second, a.timestamp, b.timestamp) > 60
Tapi ini bisa menjadi jelek ketika Anda memiliki celah di kolom ID Anda. Dan terutama itu bisa menjadi jelek (dalam hal kinerja (ketika Anda tidak memiliki indeks yang bagus di atas meja)) ketika Anda memiliki *banyak data.
Jadi, saya sarankan menggunakan kueri yang sedikit lebih maju menggunakan variabel. Tanpa perlu menggabungkan tabel ke tabel itu sendiri, ini biasanya berjalan cukup cepat:
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
- lihat itu bekerja langsung di sqlfiddle
Untuk lebih meningkatkan kueri ini untuk menampilkan dua baris di mana perbedaan waktu terlalu besar seharusnya tidak menjadi masalah :) Ketika Anda mendapat masalah serius, jangan ragu untuk bertanya.