Funciones de ventana (como lead()
) se agregaron solo en MySQL 8.0, por lo que no están disponibles en la versión 5.7. Puede emular lead()
con una autounión como esta:
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 al margen:para que este método funcione correctamente, necesita registros posteriores del mismo id
tener diferente timestamp
s, que no es el caso en los datos de muestra que mostró, donde todas las marcas de tiempo son iguales (supongo que esto es un error tipográfico en sus datos de muestra).