sql >> Base de Datos >  >> RDS >> Mysql

Encuentre el valor mínimo no utilizado de la colección de filas marcadas con una identificación y una identificación personalizada

Puedes hacer:

select 1 + min(col)
from t
where not exists (select 1 from t t2 where t2.col = t.col + 1);

Si necesita incluir "1", entonces:

select (case when min(tt.mincol) <> 1 then 1
             else 1 + min(col)
        end)
from t cross join
     (select min(col) as mincol from t) tt
where not exists (select 1 from t t2 where t2.col = t.col + 1)