Maison  >  Article  >  base de données  >  mysql supprime les doublons

mysql supprime les doublons

王林
王林original
2023-05-23 12:24:0725251parcourir

MySQL est un système de gestion de base de données relationnelle couramment utilisé qui peut stocker et gérer de grandes quantités de données et fournit une série de langages de requête et d'opération flexibles. Dans le processus d'application de MySQL, nous sommes souvent confrontés à une situation dans laquelle les données doivent être récupérées de la base de données, mais les données en double interféreront avec les résultats de la requête, les données en double doivent donc être supprimées. Cet article présentera la méthode et l'application de MySQL pour supprimer les données en double.

1. Utilisez DISTINCT pour supprimer les données en double

Dans MySQL, le moyen le plus simple de supprimer les données en double est d'utiliser le mot-clé DISTINCT. DISTINCT est utilisé pour interroger différentes lignes de données dans une table et les renvoyer sous la forme d'un seul ensemble de résultats. Utilisez le mot clé DISTINCT dans l'instruction SELECT pour supprimer les données en double. Par exemple, supposons qu'il existe une table nommée « employés » qui contient les noms et les services des employés. Pour interroger la liste des services, vous pouvez utiliser la commande suivante :

SELECT DISTINCT département FROM employés;# 🎜🎜#

Cette commande renverra toutes les valeurs uniques du "département".

2. Utilisez GROUP BY pour supprimer les données en double

Une autre façon de supprimer les données en double consiste à utiliser l'instruction GROUP BY. GROUP BY peut regrouper les résultats selon un ou plusieurs champs Lors du traitement des résultats groupés, vous pouvez utiliser des fonctions d'agrégation pour le calcul. Dans l'instruction GROUP BY, utilisez la clause GROUP BY pour spécifier les champs de regroupement. Par exemple, supposons qu'il existe une table nommée « commandes » qui contient le nom du produit, la date de la commande et la quantité commandée pour la commande. Pour interroger la quantité totale commandée pour chaque nom de produit, vous pouvez utiliser la commande suivante :

#. 🎜🎜# SELECT product_name, SUM(quantity)

FROMorders

GROUP BY product_name;

Cette commande regroupera par le champ "product_name", additionnera les données dans la "quantité" ", puis renvoie toutes les valeurs uniques "product_name" et la quantité totale de commande correspondante.

3. Utilisez la clause HAVING pour supprimer les données en double dans des conditions spécifiques

Si vous devez supprimer les données en double lorsque des conditions spécifiques sont remplies, vous pouvez utiliser la clause HAVING. Le mot-clé HAVING est généralement utilisé avec l'instruction GROUP BY, qui nous permet d'utiliser des fonctions d'agrégation lors du filtrage des résultats groupés. Par exemple, supposons qu'il existe une table nommée « employés », qui contient les noms, les services et les salaires des employés. Pour interroger les services des employés dont le salaire est supérieur à 5 000, vous pouvez utiliser la commande suivante :

#🎜. 🎜#SELECT département, AVG(salaire)

FROM employés

GROUP BY département

HAVING AVG(salary) > "Département" et calcule le salaire moyen de chaque département, et renvoie uniquement le nom du département et la valeur du salaire moyen lorsque le salaire moyen est supérieur à 5 000.

4. Utilisez l'auto-jointure pour supprimer les données en double

Dans certains cas, la comparaison et le filtrage doivent être effectués dans la même table. Dans ce cas, l'auto-jointure peut. être utilisé pour y parvenir. L'auto-jointure fait référence à la jointure de deux instances de la même table, chaque instance est représentée par un alias et on y accède en spécifiant l'alias. Par exemple, supposons qu'il existe une table nommée « clients » qui contient les noms et les villes des clients. Pour interroger les noms des clients dans la même ville, vous pouvez utiliser la commande suivante :

SELECT DISTINCT a. .customer_name , b.customer_name

FROM clients a, clients b

WHERE a.city=b.city AND a.customer_name <> b.customer_name;

Cette commande sera Compare deux instances de clients différentes dans la même ville, supprime les noms de clients en double et renvoie uniquement les noms de clients dans la même ville.


En bref, dans MySQL, il existe de nombreuses façons de supprimer les données en double. Choisir la méthode la plus appropriée en fonction de besoins spécifiques peut rendre les résultats des requêtes plus précis et améliorer l'efficacité du traitement des données.

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