Вывод первого свободного номера

Рейтинг: 2Ответов: 1Опубликовано: 17.03.2011

Имеется таблица содержащая целочисленное поле (не индекс) с повторяющимися значениями. Надо сконструировать запрос на MySQL для вывода первого числа не встречающегося в этой таблице. Схема данных:

create table services (
serviceid bigint auto_increment primary key,
vlanid mediumint default 1
);

Ответы

▲ 2Принят
select (t1.`vlanid` + 1) as res
from `services` t1 left join `services` t2 ON (t2.`vlanid` = t1.`vlanid` + 1) where t2.`vlanid` IS NULL
having res limit 1;