ホームページ > データベース > mysql チュートリアル > SQL の複数の列にわたって完全に重複するレコードを見つける方法

SQL の複数の列にわたって完全に重複するレコードを見つける方法

Barbara Streisand
リリース: 2025-01-04 11:36:34
オリジナル
775 人が閲覧しました

How to Find Exact Duplicate Records Across Multiple Columns in SQL?

複数の列の重複値の検索

SQL コードでは、特定の基準に基づいて重複レコードを識別しようとします。これを実現するには、グループ化と条件付きフィルタリングを組み合わせて利用できます。

ここで提供した例は、name 列と city 列の両方に一致する重複レコードを検索することを目的としています。ただし、元のクエリには少し問題があります。名前または都市の両方が完全に一致する必要はなく、名前または都市のみが一致するレコードも含まれています。

この問題を解決するには、次のようにクエリを変更します。

SELECT s.id, t.*
FROM [stuff] s
JOIN (
    SELECT name, city, COUNT(*) AS qty
    FROM [stuff]
    GROUP BY name, city
    HAVING COUNT(*) > 1
) t ON s.name = t.name AND s.city = t.city
ログイン後にコピー

このクエリは、[stuff] テーブルを、名前と都市の値の一意のペアごとに重複レコードの数を計算するサブクエリと結合します。カウントが 1 より大きいグループのみを含むように HAVING 句を設定すると、結果を実際の重複を表す行に制限できます。

このクエリの出力は、目的の結果と一致する必要があります:

id name city
904834 jim London
904835 jim London
90145 Fred Paris
90132 Fred Paris
90133 Fred Paris

以上がSQL の複数の列にわたって完全に重複するレコードを見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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