Функции на прозореца (като lead()
) са добавени само в MySQL 8.0, така че не са налични във версия 5.7. Можете да емулирате lead()
със самостоятелно присъединяване като така:
select t.*, tlead.state, tlead.timestamp
from FinalTable t
left join FinalTable tlead
on tlead .id = t.id
and tlead.timestamp = (
select min(t1.timestamp)
from FinalTable t1
where t1.id = t.id and t1.timestamp > t.timestamp
)
Странична бележка:за да работи правилно този метод, имате нужда от последващи записи на същия id
да има различен timestamp
s - което не е така в примерните данни, които показахте, където всички времеви отпечатъци са еднакви (предполагам, че това е правописна грешка във вашите примерни данни).