Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tìm khoảng trống trình tự còn thiếu mysql

Bạn không thể trả lại các hàng bị thiếu nếu không có danh sách tất cả các giá trị số có thể có vào LEFT JOIN chống lại.

Truy vấn này (có vẻ như nó có thể tốt hơn / mạnh hơn / nhanh hơn, nhưng nó hoạt động) sẽ tìm cho bạn những lỗ hổng:

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 vòng lặp while Break tương đương

  2. Mysql:BẢNG RENAME NẾU TỒN TẠI

  3. Cân bằng tải với ProxySQL cho Percona XtraDB Cluster

  4. Cách thích hợp để lưu trữ múi giờ trong cơ sở dữ liệu?

  5. Cách kết nối Cơ sở dữ liệu MySQL với Trang web PHP