Fonctions de fenêtre (telles que lead()
) ont été ajoutés uniquement dans MySQL 8.0, ils ne sont donc pas disponibles dans la version 5.7. Vous pouvez émuler lead()
avec une auto-jointure comme ceci :
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
)
Remarque :pour que cette méthode fonctionne correctement, vous avez besoin d'enregistrements ultérieurs du même id
avoir un timestamp
différent s - ce qui n'est pas le cas dans les exemples de données que vous avez montrés, où tous les horodatages sont identiques (je suppose qu'il s'agit d'une faute de frappe dans vos exemples de données).