Vinduesfunktioner (såsom lead()
) blev kun tilføjet i MySQL 8.0, så de er ikke tilgængelige i version 5.7. Du kan efterligne lead()
med en selvtilslutning som sådan:
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
)
Sidebemærkning:for at denne metode skal fungere korrekt, har du brug for efterfølgende registreringer af det samme id
at have et andet timestamp
s - hvilket ikke er tilfældet i de eksempeldata, du viste, hvor alle tidsstempler er de samme (jeg antager, at dette er en tastefejl i dine eksempeldata).