Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पिछली तारीख का चयन करें, mysql

चूंकि आपको "पिछली" पंक्ति से केवल एक कॉलम की आवश्यकता है, आप कुछ इस तरह से कोशिश कर सकते हैं:

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

दूसरा दृष्टिकोण त्रिकोणीय आत्म-जुड़ने के साथ-साथ स्वयं में शामिल होने का उपयोग करता है। मूल रूप से, इसका अनुवाद इस तरह किया जा सकता है:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में LOAD_FILE () फ़ंक्शन कैसे काम करता है

  2. तालिका में नवीनतम 3 तिथियां खोजने के लिए MySQL क्वेरी

  3. MySQL से एक्सएमएल आउटपुट

  4. कैसे एक स्ट्रिंग के कुछ भाग द्वारा ऑर्डर करने के लिए?

  5. MySQL क्वेरी बनाने में फंस गया