Fungsi jendela (seperti lead()
) hanya ditambahkan di MySQL 8.0, jadi tidak tersedia di versi 5.7. Anda dapat meniru lead()
dengan self-join seperti ini:
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
)
Catatan tambahan:agar metode ini berfungsi dengan baik, Anda memerlukan catatan berikutnya dari id
yang sama untuk memiliki timestamp
yang berbeda s - yang tidak terjadi pada data sampel yang Anda tunjukkan, di mana semua stempel waktu sama (saya berasumsi ini adalah kesalahan ketik pada data sampel Anda).