Funkce okna (například lead()
) byly přidány pouze v MySQL 8.0, takže nejsou dostupné ve verzi 5.7. Můžete emulovat lead()
s vlastním spojením, jako je tento:
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
)
Poznámka:Aby tato metoda správně fungovala, potřebujete další záznamy se stejným id
mít jiné timestamp
s - což není případ ukázkových dat, která jste ukázali, kde jsou všechna časová razítka stejná (předpokládám, že se jedná o překlep ve vašich ukázkových datech).