Intereting Posts
Выбрать пользователей не друг кого-либо Как выбрать максимальный балл от каждого отдельного пользователя в этой таблице? Что говорит стандарт SQL о скобках в операциях SQL UNION / EXCEPT / INTERSECT? SQL-запрос для поиска записей, где count> 1 count количество нулевых переменных в строке mysql Разделить огромную вставку mysql в несколько файлов. Два левых соединения дают мне неверные данные (двойные данные?) С MySQL NHibernate – неправильные столбцы по запросам SQLite python не обновляет таблицу Эксклюзивная транзакция Laravel 4 с обновлением и выбором как использовать sql для пути xml (''), но сохранить возврат каретки Как удалить дубликаты записей в SQL SQLite естественное соединение сломан? Использование «Обновить для локальной переменной» для вычисления групповых итоговых итогов Можно ли использовать STWithin или STContains для обновления столбцов на основе точки в отношениях между многоугольниками?

Выберите минимальное число из столбца, который не существует

I have in my column (id) values 4 5 10 

Я хочу выбрать минимальный нубмер, который не существует. Пример значения 1, затем 2, затем 3, а затем 6 …..

я пытаюсь этот код

 IF not EXISTS(SELECT min(id) from table1) select... 

Создайте таблицу чисел в своей базе данных, тогда это легко:

 SELECT MIN(Numbers.n) As MinMissingId FROM [Numbers] WHERE NOT EXISTS ( SELECT 1 FROM dbo.TableName t WHERE Numbers.n = t.ID ) 

Вот небольшой скрипт, который создает таблицу, скопированную из статьи Аарона:

 SELECT TOP (1000000) n = CONVERT(INT, ROW_NUMBER() OVER (ORDER BY s1.[object_id])) INTO dbo.Numbers FROM sys.all_objects AS s1 CROSS JOIN sys.all_objects AS s2 OPTION (MAXDOP 1); CREATE UNIQUE CLUSTERED INDEX n ON dbo.Numbers(n) -- WITH (DATA_COMPRESSION = PAGE) ; 

Вы можете найти первую строку, в которой не существует строки с Id + 1.

Попробуй это.

 SELECT TOP 1 t1.Id+1 as ID FROM table t1 WHERE NOT EXISTS(SELECT * FROM table t2 WHERE t2.Id = t1.Id + 1) ORDER BY t1.Id; 

Проверьте это .. Онлайн-демо ЗДЕСЬ