php - mysql 列中的最低自由值

标签 php mysql sql mysqli

我已经搜索过了,但我总能找到 LEAST 和 GREATEST 作为提示。我想要连续未使用的下一个升序数字。像下面这样:

entries
1
2
3
5
6
7

如果每个数字都代表我表中的一行,我希望结果是数字 4,在以下示例中:

1
2
3
4
5
6

结果我想要数字 7。有没有可能在 SQL 语句中完成此操作?

最好的, 罗宾

最佳答案

此查询假定数字 1 在您的表中

select min(number) + 1 from entries e1
where not exists (
    select 1 from entries e2
    where e2.number = e1.number + 1
)

如果您想要所有缺失的数字(间隙不大于 1)而不是最小的数字,则删除 min()

关于php - mysql 列中的最低自由值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27552472/

相关文章:

PHP - 使用 array_map 将键多维数组更改为数组关联

mysql - 很长的 PHP 脚本的潜在问题

mysql - 在 MySQL 表中拆分数据的好处

mysql - 使用MySQL准备好的语句并且仍然能够进行注入(inject)

sql - MSSQL 查询 - 仅对正数求和

php - 为什么\w 在 Mac OS X PHP 环境中匹配非英文字符?

php - 通过php链接来自mysql的数据

mysql - 设计自动化数据库的最佳解决方案?

SQL 选择值介于两列值之间的行

mysql - SQL 中的条件更新