Если вы используете MySQL 5.7 или ниже (т. Е. Версию SQL, которая не поддерживает LAG
), вы можете получить необходимые результаты, JOIN
представив свою таблицу себе, используя условие, что времядля второй таблицы самое позднее время меньше, чем для первой таблицы.Затем вы можете сравнить два раза, используя TIMESTAMPDIFF
, чтобы найти те, которые находятся на расстоянии более 15 секунд:
SELECT *
FROM test t1
JOIN test t2 ON t2.GMTtime = (SELECT MAX(GMTtime)
FROM test
WHERE test.GMTtime < t1.GMTtime)
WHERE TIMESTAMPDIFF(SECOND, t2.GMTtime, t1.GMTtime) > 15
Вывод:
name GMTtime name GMTtime
Test2 2019-02-15 19:54:56 Test1 2019-02-01 19:54:46
Демона dbfiddle