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

एसक्यूएल - अधिकतर क्रमबद्ध अनुक्रमिक श्रृंखला में लापता int मान खोजें

मैं वहां गया हूं।

FOR ORACLE:

मुझे यह बेहद उपयोगी लगा कुछ समय पहले नेट पर क्वेरी की थी और उसे नोट कर लिया था, हालांकि अब मुझे साइट याद नहीं है, आप "GAP ANALYSIS" खोज सकते हैं Google पर।

SELECT   CASE
             WHEN ids + 1 = lead_no - 1 THEN TO_CHAR (ids +1)
          ELSE TO_CHAR (ids + 1) || '-' || TO_CHAR (lead_no - 1)
         END
             Missing_track_no
   FROM   (SELECT   ids,
                    LEAD (ids, 1, NULL)
                     OVER (ORDER BY ids ASC)
                        lead_no
             FROM   YOURTABLE
             )
   WHERE   lead_no != ids + 1

यहां, परिणाम है:

MISSING _TRACK_NO
-----------------
       6

यदि कई अंतराल होते, मान लीजिए 2,6,7,9 तो यह होगा:

MISSING _TRACK_NO
-----------------
        2
       6-7
        9


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle PL/SQL - संग्रह (नेस्टेड टेबल्स)

  2. पीएल/एसक्यूएल में फॉर्म-डेटा और पैरामीटर के साथ एक पोस्ट अनुरोध कैसे भेजा जाए

  3. बड़े सीएलओबी के साथ सी # से संग्रहित प्रक्रिया को कॉल करने में समस्याएं

  4. मैं कैसे पता लगा सकता हूं कि ऑरैकल डेटाबेस ऑटोोकॉमिट पर सेट है या नहीं?

  5. 12.2 . में Oracle ई-बिजनेस सूट आर्किटेक्चर