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

एक सेलेक्ट स्टेटमेंट की दो पंक्तियों के बीच MySQL अंतर

SELECT
    mt1.ID,
    mt1.Kilometers,
    mt1.date,
    mt1.Kilometers - IFNULL(mt2.Kilometers, 0) AS number_km_since_last_date   
FROM
    myTable mt1
    LEFT JOIN myTable mt2
        ON mt2.Date = (
            SELECT MAX(Date)
            FROM myTable mt3
            WHERE mt3.Date < mt1.Date
        )
ORDER BY mt1.date

एसक्यूएल फिडल

या, lag() . का अनुकरण करके MySql हैकनेस के माध्यम से कार्य करता है...

SET @kilo=0;

SELECT
    mt1.ID,
    mt1.Kilometers - @kilo AS number_km_since_last_date,
    @kilo := mt1.Kilometers Kilometers,
    mt1.date
FROM myTable mt1
ORDER BY mt1.date

एसक्यूएल फिडल



  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 अद्यतन स्तंभ

  2. कैसे php में एक सुरक्षित mysql तैयार बयान बनाने के लिए?

  3. MySQL में केस स्टेटमेंट का उपयोग कैसे करें?

  4. MySQL में OUTPUT क्लॉज

  5. TIME_TO_SEC () उदाहरण – MySQL