php - 如何选择 id 仅高于空白的行

标签 php mysql gaps-in-data

我有一个包含列idname 的表。我的重点是id的顺序。事实上,我想选择行,当数字的 id 顺序中断时。看我的例子:

// mytable
+----+-----------+
| id |    name   |
+----+-----------+
| 1  |   ali     |
| 2  |   jack    |
| 3  |   peter   |
| 5  |   steve   |
| 6  |   lenord  |
| 7  |   jack    |
| 9  |   fered   |
+----+-----------+

现在我想选择 id=5 的位置选择 id=9 的位置。因为 id=4id=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/

相关文章:

PHP 在输入流中使用 fwrite 和 fread

mysql - "Invoice"表在专业数据库中是什么样子的?

php - Yii2如何显示表格中的数据并查询另一个表格中的每一行数据

MySql 插入一个大于允许限制的值

r - 在 R 或 PostgreSQL 中形成时空接近轨迹组

php - Apache Spark - 后端服务器

php - 在 Windows 上的 PHP 中执行并获取 pid 后台进程

php - 如何通过ajax发送JSON数组?

r - 如何用R中大数据框中的另一个序列替换特定的数字序列(每行)?

r - 在 ggplot 图表上突出显示数据差距