複数のフィールドに基づいた SQL の重複レコードの識別
SQL テーブル内の重複の検索は、フィールドが 1 つあれば簡単です。 ただし、電子メールや名前など、複数のフィールドにわたる重複を特定するには、より洗練されたアプローチが必要です。 この例では、電子メールと名前の両方に基づいて重複エントリを見つける方法を示します。
このソリューションでは、複数のフィールドを含めるように変更された GROUP BY
句を使用します。
<code class="language-sql">SELECT name, email, COUNT(*) AS DuplicateCount FROM users GROUP BY name, email HAVING DuplicateCount > 1;</code>
name
と email
によるグループ化により、同じ電子メールと名前の組み合わせを持つレコードが確実にグループ化されます。次に、HAVING
句でこれらのグループをフィルタリングし、COUNT(*)
(わかりやすくするために DuplicateCount
に名前変更) が 1 より大きいグループのみを返し、重複エントリを特定します。 これにより、名前と電子メールのペアが重複する行が効果的に識別されます。
以上が複数のフィールド (電子メールや名前など) に基づいて SQL テーブル内の重複行を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。