Funções de janela (como
lead()
) foram adicionados apenas no MySQL 8.0, portanto, não estão disponíveis na versão 5.7. Você pode emular lead()
com uma auto-junção assim: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
)
Nota lateral:para que este método funcione corretamente, você precisa de registros subsequentes do mesmo
id
ter um timestamp
diferente s - o que não é o caso dos dados de amostra que você mostrou, onde todos os timestamps são os mesmos (presumo que seja um erro de digitação nos dados de amostra).