Mysql
 sql >> Base de données >  >> RDS >> Mysql

Trouver la valeur minimale non utilisée à partir de la collection de lignes marquées d'un identifiant et d'un ID personnalisé

Vous pouvez faire :

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

Si vous devez inclure "1", alors :

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)