【问题标题】:MySQL - get missing IDs with 2 columnsMySQL - 获取缺少 2 列的 ID
【发布时间】:2015-06-23 16:00:20
【问题描述】:

我有一张这样的桌子:

代码 |身份证 | AAA | 1 | AAA | 2 | AAA | 4 | AAA | 5 | 血脑屏障 | 1 | 血脑屏障 | 4 | 血脑屏障 | 5 | 血脑屏障 | 6 |

只使用select查询可以列出缺少的“code”和“id”吗?

代码 |身份证 | AAA | 3 | 血脑屏障 | 2 | 血脑屏障 | 3 |

我在下面的链接中找到了一个中途解决方案代码(仅适用于一列): MySQL get missing IDs from table 任何帮助将不胜感激。

【问题讨论】:

    标签: mysql select


    【解决方案1】:

    非常相似,只需要在where子句和group by子句中包含另一列即可:

    SELECT a.id+1 AS start, MIN(b.id) - 1 AS end
        FROM testtable AS a, testtable AS b
        WHERE a.id < b.id AND a.code = b.code
        GROUP BY a.code, a.id
        HAVING start < MIN(b.id)
    

    【讨论】:

      猜你喜欢
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多