Vensterfuncties (zoals lead()
) zijn alleen toegevoegd in MySQL 8.0, dus ze zijn niet beschikbaar in versie 5.7. U kunt lead()
emuleren met een self-join zoals:
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
)
Kanttekening:om deze methode goed te laten werken, heb je opeenvolgende records van dezelfde id
nodig om een ander timestamp
te hebben s - wat niet het geval is in de voorbeeldgegevens die u liet zien, waar alle tijdstempels hetzelfde zijn (ik neem aan dat dit een typefout is in uw voorbeeldgegevens).