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

कैसे mysql में अनुक्रमिक क्रमांकन में अंतराल खोजने के लिए?

अपडेट करें

ConfexianMJS ने काफी बेहतर प्रदान किया उत्तर प्रदर्शन के मामले में।

(जितनी जल्दी हो सके नहीं) उत्तर

यहाँ संस्करण है जो किसी भी आकार की तालिका पर काम करता है (न कि केवल 100 पंक्तियों पर):

SELECT (t1.id + 1) as gap_starts_at, 
       (SELECT MIN(t3.id) -1 FROM arrc_vouchers t3 WHERE t3.id > t1.id) as gap_ends_at
FROM arrc_vouchers t1
WHERE NOT EXISTS (SELECT t2.id FROM arrc_vouchers t2 WHERE t2.id = t1.id + 1)
HAVING gap_ends_at IS NOT NULL
  • gap_starts_at - वर्तमान अंतराल में प्रथम आईडी
  • gap_ends_at - वर्तमान अंतराल में अंतिम आईडी


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

  2. xampp MySQL प्रारंभ नहीं होता है

  3. केवल डेटटाइम कॉलम पर तिथि के अनुसार समूह करें

  4. MySQL - रैंडम नंबर कैसे जेनरेट करें

  5. चयन के भीतर एक चर परिभाषित करें और इसे उसी चयन के भीतर उपयोग करें