(我的)SQL:SELECT第一个数字不是一系列数字,类似于MAX()

Chr*_*ris 2 mysql sql select

我想知道是否有任何方法可以选择未在一系列数字中使用的第一个数字,类似于使用MAX()来选择最高数字.

假设你有一个列"id",你插入1,2,3,5,6,8,10,......

如果使用MAX(),它将返回10.有没有办法选择SELECT 4(因为它是第一个空闲数字),填充4然后选择SELECT 7(已经采用了5,6,所以7将是下一个... .)

先感谢您!:)

nni*_*ols 5

这应该做到 -

SELECT t1.id + 1
FROM tbl t1
LEFT JOIN tbl t2
    ON t1.id + 1 = t2.id
WHERE t2.id IS NULL
ORDER BY t1.id ASC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)