2014-11-06 2 views
-1

У меня есть столбец в таблице, содержащей numbers/ID s от 0 до 7, не закодированный (также не принимаются дубликаты).SQL-запрос, чтобы найти первое значение, не используемое в столбце

Column values 
      7 
      1 
      2 
      6 
      5 
      0 

Что SQL запроса мне нужно бежать, чтобы найти первое значение, не используемое в этой колонке для конкретной таблицы (т.е. номер 3)?

ответ

2

Это может дать вам то, что вам нужно

SELECT a.id+1 AS `start` 
FROM test AS a, test AS b 
WHERE a.id < b.id 
GROUP BY a.id 
HAVING `start` < MIN(b.id) 
order by `start` limit 1 

http://www.codediesel.com/mysql/sequence-gaps-in-mysql/

+1

Это гений! – Matheno

+1

Вот еще одна статья: http://www.xaprb.com/blog/2005/12/06/find-missing-numbers-in-a-sequence-with-sql/ – MiKE