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

लापता अनुक्रम अंतराल खोजें mysql

आप सभी संभावित संख्यात्मक मानों की सूची के बिना अनुपलब्ध पंक्तियों को LEFT JOIN पर वापस नहीं कर सकते खिलाफ।

यह क्वेरी (जो ऐसा महसूस करती है कि यह बेहतर/मजबूत/तेज हो सकती है, लेकिन यह काम करती है) आपको अंतराल ढूंढेगी:

set @last_prefix = null;
set @last_value = null;
select result from (
    select @last_prefix, @last_value, name,
      @prefix := substring(name,1,3) as prefix,
      @value := substring(name,4) as value,
      case when @prefix = @last_prefix and @value != @last_value +1
        then concat ("gap from ", @prefix, ": ", @last_value+1, " to ", @value-1)
        else "ok" end as result,
      @last_prefix := @prefix, @last_value := @value
      from t20120921
) foo
where result != "ok";



  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 समय प्रकार एक ArgumentError देता है:24 घंटे से अधिक होने पर रेल में सीमा से बाहर तर्क

  2. MySQL और MariaDB में टेबल्स को कैसे लिस्ट करें?

  3. हाइबरनेट ओआरएम का उपयोग कर बनाम मूल एसक्यूएल (MySQL का उपयोग करके) का प्रदर्शन अंतर?

  4. शेल कमांड के माध्यम से mysql डेटाबेस को कैसे हटाएं

  5. यदि MySQL में फ़ील्ड रिक्त है तो 0 लौटें