mysql 找出不连续的id

350 阅读1分钟

要找出不连续的ID,可以使用MySQL中的子查询和JOIN语句来实现。以下是一个示例查询,可以找到不连续的ID:

SELECT t1.id + 1 as start, MIN(t2.id) - 1 as end
FROM your_table t1
LEFT JOIN your_table t2 ON t1.id < t2.id
GROUP BY t1.id
HAVING start < MIN(t2.id)

在这个查询中,我们使用两个表别名t1t2来表示同一张表。我们使用LEFT JOIN将t1表连接到t2表,以便我们可以比较t1表中的每个ID与t2表中的下一个ID。使用GROUP BY和HAVING子句来筛选不连续的ID。