Mysql
 sql >> Database >  >> RDS >> Mysql

Trova il valore minimo non utilizzato dalla raccolta di righe contrassegnate con un id e un customId

Puoi fare:

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

Se devi includere "1", allora:

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)