блог-форум о программировании

Вы не вошли.

#1 2017-11-20 17:37:24

Majestio
Администратор
Здесь с 2017-11-17
Сообщений: 72
Windows 10Firefox 57.0

Поиск пропуска в числовой последовательности


Поиск пропуска в числовой последовательности



Пусть есть Таблица вида A:

Id: SERIAL
Name: VARCHAR (128)

Тогда запрос:

SELECT MIN(res."Id")+1
FROM (
  SELECT alias1."Id"
  FROM (
    SELECT alias3."Id" FROM public."A" AS alias3 UNION SELECT 0) AS alias1
  WHERE NOT EXISTS (
    SELECT alias2."Id"
    FROM public."A" AS alias2
    WHERE alias2."Id" = alias1."Id" + 1
  )
) AS res

Найдет минимальное значение Id > 0, которого нет в таблице.

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] CCBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.091 сек, 7 запросов выполнено - Использовано памяти: 2.07 Мбайт (Пик: 2.62 Мбайт) ]

www.000webhost.com