MySQL是否选择列的不同运行编号(缺少编号)? [我的示例表]

MySQL是否选择列的不同运行编号(缺少编号)? [我的示例表],mysql,select,myisam,Mysql,Select,Myisam,上面是一个简单的数据,我想得到列ref\u id中缺少的数字,所以,丢失的数字是6、7、9和10 我想要一些查询代码来获取它 [预期结果] 您可以在同一个表上使用LEFT JOIN执行此操作,并且仅选择具有第二个NULL值的对 SELECT u1.id as result FROM user_table u1 LEFT JOIN user_table u2 ON u1.id = u2.ref_id WHERE u2.id IS NULL 更新: 你可以测试 我的解决方案在这两种情况下都有效 创

上面是一个简单的数据,我想得到列
ref\u id
中缺少的数字,所以,丢失的数字是
6、7、9和10

我想要一些查询代码来获取它

[预期结果]
您可以在同一个表上使用
LEFT JOIN
执行此操作,并且
仅选择具有第二个
NULL
值的对

SELECT u1.id as result
FROM user_table u1
LEFT JOIN user_table u2 ON u1.id = u2.ref_id
WHERE u2.id IS NULL
更新

你可以测试

我的解决方案在这两种情况下都有效

  • 创建一个名为
    numbers
    的表,其中包含所有可能的数字
  • 选择。。。从左边的数字加入你的表。。。哪里为NULL
    以查找缺少的行

  • “我想在列ref_id中得到不同的数字”-什么不同?为什么从7点到10点没有什么不同呢?我们怎么知道在13点停下来?你们有带所有
    ref\u id
    的桌子吗?我猜它引用了其他一些表。你使用的是什么版本的MySql?@草莓:真正的数据停止在1000万条记录上
    +------------+
    |   result   |
    +------------+
    |     6      |
    |     7      |
    |     9      |
    |     10     |
    +------------+
    
    SELECT u1.id as result
    FROM user_table u1
    LEFT JOIN user_table u2 ON u1.id = u2.ref_id
    WHERE u2.id IS NULL