विंडो फ़ंक्शन (जैसे lead()
) केवल MySQL 8.0 में जोड़े गए थे, इसलिए वे संस्करण 5.7 में उपलब्ध नहीं हैं। आप lead()
का अनुकरण कर सकते हैं इस तरह से सेल्फ-जॉइन के साथ:
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
)
साइड नोट:इस विधि के ठीक से काम करने के लिए, आपको उसी id
. के बाद के रिकॉर्ड की आवश्यकता होगी अलग timestamp
के लिए s - आपके द्वारा दिखाए गए नमूना डेटा में ऐसा नहीं है, जहां सभी टाइमस्टैम्प समान हैं (मुझे लगता है कि यह आपके नमूना डेटा में एक टाइपो है)।