Fönsterfunktioner (som lead()
) lades endast till i MySQL 8.0, så de är inte tillgängliga i version 5.7. Du kan emulera lead()
med en självanslutning som så:
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
)
Sidanteckning:för att den här metoden ska fungera korrekt behöver du efterföljande poster med samma id
att ha en annan timestamp
s - vilket inte är fallet i exempeldatan som du visade, där alla tidsstämplar är desamma (jag antar att detta är ett stavfel i din exempeldata).