Maison  >  Article  >  base de données  >  requête mysql enregistrements en double

requête mysql enregistrements en double

王林
王林original
2023-05-23 10:46:0711890parcourir

MySQL est un système de gestion de bases de données relationnelles largement utilisé avec de puissantes capacités de requête et de gestion de données. Lorsque vous utilisez MySQL, vous rencontrez souvent des situations dans lesquelles vous devez interroger des enregistrements en double. Cet article explique comment rechercher des enregistrements en double dans MySQL.

1. Utilisez l'instruction GROUP BY pour interroger les enregistrements en double

Dans MySQL, vous pouvez utiliser l'instruction GROUP BY pour interroger les enregistrements en double. L'instruction GROUP BY regroupe des données identiques et effectue des calculs sur chaque groupe. En filtrant les résultats du calcul, les enregistrements en double peuvent être filtrés.

Par exemple, si vous souhaitez rechercher des noms et des adresses e-mail en double dans le tableau, vous pouvez utiliser l'instruction SQL suivante :

SELECT name, email, COUNT(*) 
FROM users 
GROUP BY name, email 
HAVING COUNT(*) > 1;

Cette instruction utilise l'instruction GROUP BY pour regrouper les mêmes noms et adresses e-mail et compter chacun groupe. Si le résultat du décompte est supérieur à 1, il s'agit d'un enregistrement en double. Les résultats finaux de la requête incluent le nom, l'adresse e-mail et la valeur du nombre.

2. Utilisez le mot-clé DISTINCT pour interroger les enregistrements en double

En plus d'utiliser l'instruction GROUP BY, vous pouvez également utiliser le mot-clé DISTINCT pour interroger les enregistrements en double. Le mot-clé DISTINCT est utilisé pour supprimer les enregistrements en double.

Par exemple, si vous souhaitez rechercher des adresses e-mail en double dans le tableau, vous pouvez utiliser l'instruction SQL suivante :

SELECT DISTINCT email 
FROM users 
GROUP BY email 
HAVING COUNT(*) > 1;

Le mot-clé DISTINCT est utilisé dans cette instruction pour supprimer les adresses e-mail en double, puis l'instruction GROUP BY est utilisé pour regrouper les mêmes adresses e-mail, et compter chaque groupe. Si le résultat du décompte est supérieur à 1, il s'agit d'une adresse e-mail en double. Les résultats finaux de la requête incluent uniquement les adresses e-mail en double.

3. Utilisez l'instruction SELF JOIN pour interroger les enregistrements en double

En plus d'utiliser l'instruction GROUP BY et le mot-clé DISTINCT, vous pouvez également utiliser l'instruction SELF JOIN pour interroger les enregistrements en double. L'instruction SELF JOIN est utilisée pour joindre des enregistrements dans la même table.

Par exemple, si vous souhaitez rechercher des adresses e-mail en double dans une table, vous pouvez utiliser l'instruction SQL suivante :

SELECT u1.email 
FROM users u1 
JOIN users u2 
ON u1.email = u2.email AND u1.id <> u2.id;

Cette instruction utilise l'instruction SELF JOIN pour joindre des enregistrements avec la même adresse e-mail dans la même table. En satisfaisant simultanément les conditions u1.email = u2.email et u1.id a8093152e673feb7aba1828c43532094, les enregistrements en double peuvent être interrogés. Les résultats finaux de la requête incluent uniquement les adresses e-mail en double.

Vous trouverez ci-dessus plusieurs méthodes pour interroger les enregistrements en double dans MySQL. Chaque méthode a ses situations applicables. Choisissez simplement la méthode d’interrogation appropriée en fonction des besoins réels.

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!

Déclaration:
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