Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Temukan celah urutan yang hilang mysql

Anda tidak dapat mengembalikan baris yang hilang tanpa daftar semua kemungkinan nilai numerik ke LEFT JOIN melawan.

Kueri ini (yang rasanya bisa lebih baik/lebih kuat/lebih cepat, tetapi berhasil) akan menemukan celahnya untuk Anda:

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. PHP - Masukkan tanggal ke mysql

  2. ProgrammingError:Objek SQLite yang dibuat di utas hanya dapat digunakan di utas yang sama

  3. Cara mencari angka pasti di php

  4. Bagaimana cara memeriksa apakah PHP sudah terhubung ke database?

  5. Mengunggah file/gambar blob ke Mysql