DISTINCT を使用しない列値の重複の識別
データベースでは、特定の列の値が繰り返される行を識別することが必要になる場合があります。一意の値のみを取得する DISTINCT キーワードとは異なり、当面のタスクでは、列値に固有性がないすべての行を選択する必要があります。
この要件に対処する 1 つのアプローチは、WHERE 句内でサブクエリを使用することです。次のクエリは、この手法を示しています。
SELECT [EmailAddress], [CustomerName] FROM [Customers] WHERE [EmailAddress] IN (SELECT [EmailAddress] FROM [Customers] GROUP BY [EmailAddress] HAVING COUNT(*) > 1)
このクエリは、複数のインスタンスを持つグループに「EmailAddress」値が存在する「Customers」テーブルからすべての行を取得します。外側のクエリの 'EmailAddress' 値をサブクエリの値と比較することで、一意の値を効果的に除外します。
提供されたサンプル データの場合、上記のクエリは目的の結果を生成します。
CustomerName | EmailAddress |
---|---|
Aaron | [email protected] |
Christy | [email protected] |
John | [email protected] |
以上がDISTINCT を使用せずにデータベース テーブル内で重複する電子メール アドレスを検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。