Минимальный незанятый id
Добавлено: 31.05.08 в 14:18
Дана таблица с полем id (остальные поля значения не имеют):
CREATE TABLE test (id int not null unique key);
В таблице есть записи с такими id:
INSERT INTO test (id) VALUES (1), (5), (4), (3), (2), (100), (101), (200);
Составить SQL-запрос, возвращающий минимальный незанятый id.
На приведённом наборе данных запрос должен возвращать 6.
СПРЯТАТЬ РЕШЕНИЕ/ОТВЕТ
SELECT min(a.id+1)
FROM `test` a
LEFT JOIN test b ON a.id+1 = b.id
where b.id is null
Вместо min() можно использовать order by a.id limit 1