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

एसक्यूएल में कॉलम मान की निरंतर घटना गणना कैसे प्राप्त करें?

सबसे पहले, परिभाषा के अनुसार SQL में डेटा का कोई ऑर्डर नहीं होता है जब तक कि ORDER BY उपयोग किया जाता है।

आपको अपनी तालिका में एक अतिरिक्त कॉलम प्रदान करना होगा जो ऑर्डर निर्धारित करता है, और इसका उपयोग ORDER BY में किया जा सकता है खंड, उदाहरण के लिएRN नीचे दिए गए उदाहरण में कॉलम:

        RN CS_ID     
---------- ----------
         1 a         
         2 b         
         3 a         
         4 a         
         5 a         
         6 b         
         7 b         
         8 b         
         9 b   

उपरोक्त डेटा के लिए आप आवश्यक परिणाम प्राप्त करने के लिए सामान्य तालिका अभिव्यक्ति (पुनरावर्ती क्वेरी) का उपयोग कर सकते हैं, उदाहरण के लिए नीचे दी गई क्वेरी Oracle डेटाबेस पर काम करती है:

WITH my_query( RN, cs_id , cont ) AS (

    SELECT t.rn, t.cs_id, 1
        FROM My_table t
        WHERE rn = 1
    UNION ALL
    SELECT t.rn, t.cs_id,
         case when t.cs_id = m.cs_id
              then m.cont + 1
              else 1
         end
        FROM My_table t
        JOIN my_query m
        ON t.rn = m.rn + 1
)
select * from my_query
order by rn;

        RN CS_ID            CONT
---------- ---------- ----------
         1 a                   1
         2 b                   1
         3 a                   1
         4 a                   2
         5 a                   3
         6 b                   1
         7 b                   2
         8 b                   3
         9 b                   4



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक समय में शेल स्क्रिप्ट में दो ओरेकल डीबी के खिलाफ एक एसक्यूएल क्वेरी निष्पादित करने और सीएसवी फाइलों को अलग करने के लिए डेटा निर्यात करने की आवश्यकता है

  2. मुझे डेटाबेस में पोस्टल कोड स्टोर करने की आवश्यकता है। कॉलम कितना बड़ा होना चाहिए?

  3. ऑरैकल में पहले से बनाई गई तालिका में ऑटोइनक्रिकमेंट

  4. Oracle SQL डेवलपर के साथ पासवर्ड बदलना

  5. ओरेकल एसक्यूएल लिस्टैग फ़ंक्शन