Maison > base de données > tutoriel mysql > le corps du texte

Comment interroger les champs en double dans MySQL

WBOY
Libérer: 2022-01-12 10:17:25
original
23741 Les gens l'ont consulté

Dans MySQL, vous pouvez utiliser la fonction count() pour interroger des champs répétés. Cette fonction peut renvoyer les résultats des conditions spécifiées. La syntaxe est "SELECT field value COUNT(*) as count FROM table name GROUP BY field value have count>". ;1;

Comment interroger les champs en double dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.

Comment interroger les champs en double dans MySQL

Exemple Les données de la table accountinfo sont les suivantes :

Comment interroger les champs en double dans MySQL

Scénario 1 Recherche et déduplication de données en double dans un seul champ

Nous voulons les mêmes données dans le compte à champ unique champ dans le tableau ci-dessus Découvrez.

L'idée est divisée en trois étapes. Brève description :

La première étape

Pour trouver des données en double, la première chose à laquelle on pense est que puisqu'il s'agit d'un doublon, alors le nombre est supérieur à 1, ce qui est considéré un duplicata. C'est la fonction de comptage.

Parce que ce que nous voulons vérifier est un compte à champ unique, nous devons alors regrouper en fonction de la dimension du champ du compte. C'est le groupe par fonction.

Ensuite, la déclaration MySQL que nous avons écrite dans la première étape est :

 SELECT account ,COUNT(account) as count FROM accountinfo GROUP BY account;
Copier après la connexion

Les résultats de la requête sont les suivants :

Comment interroger les champs en double dans MySQL

Étape 2

Oui, comme nous le pensions, si le nombre est supérieur à 1, les comptes sont Données A et B.

Alors filtrons un peu et découvrons uniquement le compte des données dont le nombre est supérieur à 1.

La deuxième étape consiste à utiliser les conditions de filtrage. La déclaration mysql écrite est la suivante :

 SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1;
Copier après la connexion

Les résultats de la requête sont les suivants :

Comment interroger les champs en double dans MySQL

La troisième étape

Les données de compte en double A B sont trouvées. , nous avons seulement besoin d'interroger d'autres données avec les comptes A et B ensemble.

Il s'agit d'utiliser les données trouvées dans la deuxième étape comme conditions de sous-requête et d'utiliser la fonction IN.

L'instruction mysql écrite à la troisième étape est :

 SELECT * FROM  accountinfo WHERE account IN
 (
 SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1
 );
Copier après la connexion

Les résultats de la requête sont les suivants :

Comment interroger les champs en double dans MySQL

Vous pouvez voir que les données en double ont été filtrées par nos soins.

Apprentissage recommandé : Tutoriel vidéo mysql

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!

Étiquettes associées:
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!