MySQL MariaDB

MySQL Trouver les valeurs en double dans le tableau

MySQL Trouver les valeurs en double dans le tableau
Les données redondantes peuvent être conservées dans la table par le programme de base de données, influençant la sortie de la base de données dans MySQL. La réplication des données, cependant, se produit à des fins différentes, et c'est un travail important d'identifier les valeurs en double dans la table lorsqu'il s'agit d'une base de données MySQL. D'une manière générale, il est judicieux d'utiliser des restrictions claires sur une table souvent pour stocker des informations qui empêchent les lignes redondantes. Parfois, dans une base de données MySQL, vous souhaiterez peut-être calculer le nombre de valeurs répétées. Nous avons abordé cette question dans cette rubrique, dans laquelle vous apprendrez comment localiser les valeurs en double de différentes manières et comment compter les valeurs en double.

Pour commencer, vous devez avoir MySQL installé sur votre système avec ses utilitaires : MySQL workbench et command-line client shell. Après cela, vous devriez avoir des données ou des valeurs dans vos tables de base de données en tant que doublons. Explorons cela avec quelques exemples. Tout d'abord, ouvrez votre shell client en ligne de commande à partir de la barre des tâches de votre bureau et tapez votre mot de passe MySQL lorsque vous y êtes invité.

Nous avons trouvé différentes méthodes pour trouver des doublons dans un tableau. Jetez-y un coup d'œil un par un.

Rechercher des doublons dans une seule colonne

Tout d'abord, vous devez connaître la syntaxe de la requête utilisée pour vérifier et compter les doublons pour une seule colonne.

>> SELECT col COUNT(col) FROM table GROUP BY col HAVING COUNT(col) > 1;

Voici l'explication de la requête ci-dessus :

Nous avons créé une nouvelle table appelée « animaux » dans notre base de données MySQL « données » ayant des valeurs en double. Il a six colonnes avec des valeurs différentes, e.g., identifiant, nom, espèce, sexe, âge et prix fournissant des informations sur les différents animaux de compagnie. En appelant cette table à l'aide de la requête SELECT, nous obtenons la sortie ci-dessous sur notre shell client en ligne de commande MySQL.

>> SÉLECTIONNER * À PARTIR des données.animaux;

Maintenant, nous allons essayer de trouver les valeurs redondantes et répétées du tableau ci-dessus en utilisant les clauses COUNT et GROUP BY dans la requête SELECT. Cette requête comptera les Noms des animaux qui se trouvent moins de 3 fois dans le tableau. Après cela, il affichera ces noms comme ci-dessous.

>> SELECT Nom COUNT(Nom) FROM données.animaux GROUP BY Name HAVING COUNT(Name) < 3;

Utiliser la même requête pour obtenir des résultats différents tout en modifiant le nombre COUNT pour les noms d'animaux comme indiqué ci-dessous.

>> SELECT Nom COUNT(Nom) FROM données.animaux GROUP BY Name HAVING COUNT(Name) > 3;

Pour obtenir des résultats pour un total de 3 valeurs en double pour les noms d'animaux comme indiqué ci-dessous.

>> SELECT Nom COUNT(Nom) FROM données.animaux GROUP BY Name HAVING COUNT(Name) = 3;

Rechercher des doublons dans plusieurs colonnes

La syntaxe de la requête pour vérifier ou compter les doublons pour plusieurs colonnes est la suivante :

>> SELECTIONNER col1, COUNT(col1), col2, COUNT(col2) FROM table GROUP BY col1, col2 HAVING COUNT(col1) > 1 AND COUNT(col2) > 1 ;

Voici l'explication de la requête ci-dessus :

Nous avons utilisé la même table appelée « animaux » ayant des valeurs en double. Nous avons obtenu la sortie ci-dessous en utilisant la requête ci-dessus pour vérifier les valeurs en double dans plusieurs colonnes. Nous avons vérifié et compté les valeurs en double pour les colonnes Sexe et Prix tout en étant regroupées par la colonne Prix. Il montrera les sexes de l'animal et leurs prix qui résident dans le tableau en tant que doublons pas plus de 5.

>> SELECT Genre, COUNT(Sexe), Prix, COUNT(Prix) FROM données.animaux GROUPE PAR Prix AYANT COMPTE(Prix) < 5 AND  COUNT(Gender) < 5;

Rechercher des doublons dans une seule table à l'aide de INNER JOIN

Voici la syntaxe de base pour trouver des doublons dans une seule table :

>> SELECTIONNER col1, col2, tableau.col FROM table INNER JOIN(SELECT col FROM table GROUP BY col HAVING COUNT(col1) > 1) temp ON table.col= temp.col;

Voici le récit de la requête aérienne :

Nous avons une nouvelle table, 'order2' avec des valeurs en double dans la colonne OrderNo comme indiqué ci-dessous.

>> SÉLECTIONNER * À PARTIR des données.commande2 ;

Nous sélectionnons trois colonnes : Article, Ventes, Numéro de commande à afficher dans la sortie. Alors que la colonne OrderNo est utilisée pour vérifier les doublons. La jointure interne sélectionnera les valeurs ou les lignes ayant les valeurs d'éléments plus d'un dans une table. Lors de l'exécution, nous obtiendrons les résultats ci-dessous.

>> SÉLECTIONNER Article, Ventes, Commande2.Numéro de commande DE données.order2 INNER JOIN (SELECT No Order FROM data.order2 GROUP BY OrderNo HAVING COUNT(Item) > 1) temp ON order2.OrderNo= temp.N ° de commande;

Rechercher des doublons dans plusieurs tables à l'aide de INNER JOIN

Voici la syntaxe simplifiée pour trouver des doublons dans plusieurs tables :

>> SELECT col FROM table1 INNER JOIN table2 ON table1.col = table2.col;

Voici la description de la requête de frais généraux :

Nous avons deux tables, 'order1' et 'order2', dans notre base de données ayant la colonne 'OrderNo' dans les deux comme affiché ci-dessous.

Nous utiliserons la jointure INNER pour combiner les doublons de deux tables selon une colonne spécifiée. La clause INNER JOIN obtiendra toutes les données des deux tables en les joignant, et la clause ON mettra en relation les colonnes de même nom des deux tables, e.g., N ° de commande.

>> SÉLECTIONNER * À PARTIR des données.order1 données INNER JOIN.commande2 SUR commande1.Numéro de commande = commande2.N ° de commande;

Pour obtenir les colonnes particulières dans une sortie, essayez la commande ci-dessous :

>> SELECTIONNER Région, Statut, Article, Ventes DE données.order1 données INNER JOIN.commande2 SUR commande1.Numéro de commande = commande2.N ° de commande;

Conclusion

Nous pouvons maintenant rechercher plusieurs copies dans une ou plusieurs tables d'informations MySQL et reconnaître les fonctions GROUP BY, COUNT et INNER JOIN. Assurez-vous que vous avez bien construit les tableaux et que les bonnes colonnes sont choisies.

Tutoriel Bataille pour Wesnoth
The Battle for Wesnoth est l'un des jeux de stratégie open source les plus populaires auxquels vous pouvez jouer en ce moment. Non seulement ce jeu es...
0 A.ré. Didacticiel
Sur les nombreux jeux de stratégie disponibles, 0 A.ré. parvient à se démarquer comme un titre complet et un jeu tactique très profond bien qu'il soit...
Tutoriel Unity3D
Introduction à Unity 3D Unity 3D est un puissant moteur de développement de jeux. C'est une plateforme multiplateforme qui vous permet de créer des je...