ホームページ > データベース > mysql チュートリアル > MySQL テーブルで欠落している ID を見つけるにはどうすればよいですか?

MySQL テーブルで欠落している ID を見つけるにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-06 02:06:11
オリジナル
645 人が閲覧しました

How Can I Find Missing IDs in a MySQL Table?

MySQL テーブル内で欠落している識別子の特定

MySQL テーブル内では、欠落している識別子が発生し、数値シーケンスにギャップが生じる可能性があります。これらの欠落している ID を取得するには、特定のクエリが必要です。

欠落している ID のクエリ

提供されているテーブルの例を考えてみましょう。

ID Name
1 Bob
4 Adam
6 Someguy

Fromこのテーブルでは、ID 2、3、5 が欠落していることがわかります。これらの欠落している識別子を抽出するには、次のクエリを使用できます。

SELECT a.id+1 AS start, MIN(b.id) - 1 AS end
FROM testtable AS a, testtable AS b
WHERE a.id < b.id
GROUP BY a.id
HAVING start < MIN(b.id);
ログイン後にコピー

説明

  • テストテーブルは、隣接する行を比較するために自己結合されています。
  • ID 1 (開始) は、現在の ID の直後にある欠落している可能性のある ID を表します(a.id).
  • MIN(b.id) - 1 (end) は、開始値より大きい最小 ID と 1 の差を表し、欠落している ID 範囲の潜在的な終了を示します。
  • 条件を満たす行が開始
  • MIN(b.id) は、ID が欠落している範囲です。

追加リソース

このトピックの詳細については、次を参照してください。
  • [シーケンスギャップの例コード](https://web.archive.org/web/20220706195255/http://www.codediesel.com/mysql/sequence-gaps-in-mysql/)

以上がMySQL テーブルで欠落している ID を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート