sql >> Databasteknik >  >> RDS >> Mysql

Hitta minsta oanvända värde från samling rader markerade med ett id och customId

Du kan göra:

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

Om du behöver inkludera "1", då:

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)


  1. Varför påverkas två rader i min `INSERT ... ON DUPLICATE KEY UPDATE`?

  2. Skillnaden i ordningsföljd av bokstaver av enumtyp mellan PostgreSQL 9.0 och 9.1

  3. Problem med att försöka köra SSIS-paketet med Oracle Connection Attunity

  4. Hitta överträdelser av främmande nyckel i SQLite