चूंकि आपको "पिछली" पंक्ति से केवल एक कॉलम की आवश्यकता है, आप कुछ इस तरह से कोशिश कर सकते हैं:
SELECT
dte,
id,
value,
(
SELECT value
FROM atable
WHERE id = t.id
AND dte < t.dte
ORDER BY dte DESC
LIMIT 1
) AS previous_value
FROM atable t
यदि आपको अधिक "पिछली" विशेषताओं को खींचने की आवश्यकता है, तो यहां एक अधिक परिष्कृत तरीका है:
SELECT
t1.dte,
t1.id,
t1.value,
t2.dte,
t2.value,
…
FROM atable t1
LEFT JOIN atable t2 ON t1.id = t2.id AND t1.dte > t2.dte
LEFT JOIN atable t3 ON t1.id = t3.id AND t1.dte > t3.dte AND t3.dte > t2.dte
WHERE t3.id IS NULL
दूसरा दृष्टिकोण त्रिकोणीय आत्म-जुड़ने के साथ-साथ स्वयं में शामिल होने का उपयोग करता है। मूल रूप से, इसका अनुवाद इस तरह किया जा सकता है: