Maison > base de données > tutoriel mysql > Comment rechercher des lignes en double basées sur plusieurs champs dans une table SQL ?

Comment rechercher des lignes en double basées sur plusieurs champs dans une table SQL ?

DDD
Libérer: 2025-01-23 01:57:11
original
596 Les gens l'ont consulté

How to Find Duplicate Rows Based on Multiple Fields in a SQL Table?

Localisation des enregistrements en double à l'aide de plusieurs champs dans SQL

Identifier les entrées en double sur la base d'une seule colonne est une tâche SQL simple. Par exemple, pour rechercher des e-mails en double dans un tableau users :

<code class="language-sql">SELECT email, COUNT(email)
FROM users
GROUP BY email
HAVING COUNT(email) > 1;</code>
Copier après la connexion

La complexité augmente lors de l'identification des doublons dans plusieurs champs, tels que l'adresse e-mail et le nom.

Pour identifier les lignes contenant des combinaisons d'adresses e-mail et de nom identiques, utilisez cette requête :

<code class="language-sql">SELECT name, email, COUNT(*)
FROM users
GROUP BY name, email
HAVING COUNT(*) > 1;</code>
Copier après la connexion

Cela regroupe les données à la fois par name et email, puis filtre pour afficher uniquement les groupes avec plus d'une entrée, révélant ainsi les doublons.

Comment ça marche :

La clause HAVING est cruciale ; il filtre les résultats groupés, garantissant que seules les combinaisons de name et email apparaissant plus d'une fois sont renvoyées. Un résultat typique ressemblerait à :

<code>| name | email       | COUNT(*) |
|------|-------------|----------|
| Tom   | john@example.com | 2        |
| Tom   | tom@example.com  | 2        |</code>
Copier après la connexion

Considération importante :

Les systèmes de bases de données varient dans leur gestion du regroupement de colonnes non agrégées. Certains peuvent nécessiter une inclusion explicite dans la clause GROUP BY. Si votre système de base de données ne prend pas en charge ce regroupement implicite, vous devrez ajuster la requête en conséquence.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal