我有一个包含列id
和name
的表。我的重点是id
的顺序。事实上,我想选择行,当数字的 id
顺序中断时。看我的例子:
// mytable
+----+-----------+
| id | name |
+----+-----------+
| 1 | ali |
| 2 | jack |
| 3 | peter |
| 5 | steve |
| 6 | lenord |
| 7 | jack |
| 9 | fered |
+----+-----------+
现在我想选择 id=5 的位置
和 选择 id=9 的位置
。因为 id=4
和 id=8
已被删除。
编辑:我想要这个输出:
// mytable
+----+-----------+
| id | name |
+----+-----------+
| 5 | steve |
| 9 | fered |
+----+-----------+
我可以这样做吗?
最佳答案
事实上,您希望 id 只高于缺失 id 的记录;因此,您需要搜索具有 id
的记录,使得 id-1
确实不存在(对于最低 id 始终是这种情况,因此我们必须明确排除 id=1
)
SELECT *
FROM the_table tt
WHERE id > 1
AND NOT EXISTS (
SELECT *
FROM the_table nx
WHERE nx.id = tt.id -1
);
关于php - 如何选择 id 仅高于空白的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31014308/