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

SQL सर्वर में सबसे छोटी अप्रयुक्त संख्या खोजें

पहली पंक्ति खोजें जहाँ Id + 1 के साथ कोई पंक्ति मौजूद नहीं है

SELECT TOP 1 t1.Id+1 
FROM table t1
WHERE NOT EXISTS(SELECT * FROM table t2 WHERE t2.Id = t1.Id + 1)
ORDER BY t1.Id

संपादित करें:

विशेष मामले को संभालने के लिए जहां सबसे कम मौजूदा आईडी 1 नहीं है, यहां एक बदसूरत समाधान है:

SELECT TOP 1 * FROM (
    SELECT t1.Id+1 AS Id
    FROM table t1
    WHERE NOT EXISTS(SELECT * FROM table t2 WHERE t2.Id = t1.Id + 1 )
    UNION 
    SELECT 1 AS Id
    WHERE NOT EXISTS (SELECT * FROM table t3 WHERE t3.Id = 1)) ot
ORDER BY 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर लॉग शिपिंग और डिजास्टर रिकवरी इंस्टाल और कॉन्फ़िगरेशन -3

  2. SQL सर्वर 2005/2008 में सप्ताह का दिन प्राप्त करें

  3. प्रत्येक पंक्ति में स्तंभ मान के आधार पर पंक्तियों की नकल करना

  4. SQL सर्वर में सभी मौजूदा अस्थायी तालिकाओं की सूची प्राप्त करने का कोई तरीका है?

  5. सी # में संग्रहित प्रक्रिया से वापसी मूल्य प्राप्त करना