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

कॉलम मान बदलने पर MySQL पंक्ति का चयन करें

MySQL user defined variables इस मामले में आपकी मदद करेगा।

हर बार जब आप कोई नया स्टेटस देखते हैं तो 1 assign असाइन करें संबंधित पंक्ति की पंक्ति संख्या के रूप में।

और अगर आपको वही स्थिति दिखाई देती है जो आपने पिछली पंक्ति में देखी थी तो इसके बजाय एक बढ़ी हुई पंक्ति संख्या निर्दिष्ट करें।

इस तरह आप अंततः row number = 1 . वाले रिकॉर्ड को फ़िल्टर कर सकते हैं केवल। ये विशेष रिकॉर्ड वास्तव में अपनी पिछली पिछली पंक्ति की तुलना में अंतर दिखा रहे हैं

SELECT 
*
FROM 
(
 SELECT 
  *,
  IF(@prevStatus = YT.status_1, @rn := @rn + 1,
    IF(@prevStatus := YT.status_1, @rn := 1, @rn := 1)
  ) AS rn
 FROM your_table YT
 CROSS JOIN 
 (
  SELECT @prevStatus := -1, @rn := 1
 ) AS var 
 ORDER BY YT.ID
) AS t
WHERE t.rn = 1
ORDER BY t.ID


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हाइव का घंटा () फ़ंक्शन 12 घंटे का घड़ी मान लौटाता है

  2. EC2 पर Amazon RDS Aurora बनाम RDS MySQL बनाम MySQL?

  3. MySQL के ANSI और यूनिकोड ड्राइवरों के बीच अंतर

  4. सर्वोत्तम सामान्यीकरण के साथ डेटाबेस में डेटा की एक परिवर्तनीय मात्रा दर्ज करना

  5. MySQL:जब संग्रहीत कार्यविधि पैरामीटर नाम तालिका स्तंभ नाम के समान होता है