Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ermitteln Sie den nicht verwendeten Mindestwert aus einer Sammlung von Zeilen, die mit einer ID und einer benutzerdefinierten ID gekennzeichnet sind

Sie können Folgendes tun:

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

Wenn Sie "1" einschließen müssen, dann:

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)