我想知道是否有任何方法可以选择一系列数字中未被采用的第一个数字,类似于您使用 MAX() 来选择最大的数字。
假设您有一列“id”,您插入 1,2,3,5,6,8,10,...
如果你使用 MAX() 它将返回 10。有没有办法选择 4(因为它是第一个免费号码),填写 4 然后选择 7(5,6 已经被占用,所以 7 将是下一个……)
提前致谢! :)
最佳答案
这应该可以做到 -
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
关于mysql - (Mysql : SELECT first number not taken in series of numbers, 类似于 MAX(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9907567/