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

SQL:उन पंक्तियों का चयन करना जहाँ स्तंभ मान पिछली पंक्ति से बदल गया है

SELECT a.*
FROM tableX AS a
WHERE a.StatusA <>
      ( SELECT b.StatusA
        FROM tableX AS b
        WHERE a.System = b.System
          AND a.Timestamp > b.Timestamp
        ORDER BY b.Timestamp DESC
        LIMIT 1
      ) 

लेकिन आप इसे भी आजमा सकते हैं ((System,Timestamp) . पर एक इंडेक्स के साथ :

SELECT System, Timestamp, StatusA, StatusB
FROM
  ( SELECT (@statusPre <> statusA AND @systemPre=System) AS statusChanged
         , System, Timestamp, StatusA, StatusB
         , @statusPre := StatusA
         , @systemPre := System
    FROM tableX
       , (SELECT @statusPre:=NULL, @systemPre:=NULL) AS d
    ORDER BY System
           , Timestamp
  ) AS good
WHERE statusChanged ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LAST_DAY () उदाहरण – MySQL

  2. mysqli या मरना, क्या इसे मरना है?

  3. पीडीओ लास्ट आईडी इंसर्ट करवाएं

  4. कमांड लाइन इंटरफेस (सीएलआई) का उपयोग करके एक MySQL डेटाबेस कैसे बनाएं

  5. डेटाबेस प्रशासकों के लिए 15 मूल MySQL साक्षात्कार प्रश्न