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

  2. не може да се покажат резултати от заявка в код за възпламеняване на изглед

  3. изграждане на ролеви приложения

  4. Разстояние на Хеминг върху двоични низове в SQL

  5. Кой е най-лесният начин за добавяне на празни дати в sql резултати (в края на mysql или perl)?