Parfois, vous devrez peut-être trouver des enregistrements en double dans MySQL. Voici comment obtenir des enregistrements en double dans une table. Vous pouvez l'utiliser pour obtenir des lignes avec des valeurs en double dans MySQL
Comment trouver des valeurs en double dans MySQL
Voici les étapes pour obtenir des enregistrements en double dans MySQL. Supposons que vous ayez la table MySQL suivante avec des enregistrements en double.
mysql> créer une table dup_orders(id int, amount int);mysql> insérer dans dup_orders(id,amount) values(1, 100),(1,250),(2,350),(2,350);mysql> select * from dup_orders;+------+--------+| identifiant | montant |+------+--------+| 1 | 100 || 1 | 250 || 2 | 350 || 2 | 350 |+------+--------+
Lecture bonus :MySQL ajoute une contrainte unique
Rechercher les valeurs de ligne en double dans une colonne
Voici la requête SQL pour trouver des valeurs en double pour une colonne
SELECT col, COUNT(col)FROM table_nameGROUP BY colHAVING COUNT(col)> 1 ;
Dans la requête ci-dessus, nous faisons un GROUP BY pour la colonne pour laquelle nous voulons vérifier les doublons. Nous utilisons également une clause COUNT() et HAVING pour obtenir le nombre de lignes pour chaque groupe.
Lecture bonus :Colonne de renommage MySQL
Appliquons la requête ci-dessus pour nos dup_orders table, pour obtenir des valeurs en double pour id colonne
mysql> select id, montant du groupe dup_orders par id ayant count(id)>1 ;+------+--------+| identifiant | montant |+------+--------+| 1 | 100 || 2 | 350 |+------+--------+
Rechercher les valeurs de ligne en double dans plusieurs colonnes
Voici la requête SQL pour trouver des valeurs en double pour plusieurs colonnes
SELECT col1, col2,..., COUNT(*)FROM table_nameGROUP BY col1, col2, ...HAVING (COUNT(col1)> 1) AND (COUNT(col2)> 1) AND ...Dans la requête ci-dessus, nous faisons un GROUP BY de toutes les colonnes (col1, col2 ) pour qui nous voulons trouver des doublons. Nous utilisons également une clause COUNT() et HAVING pour obtenir le nombre de lignes pour chaque groupe.
Lecture bonus :comment dupliquer une table dans MySQL
Appliquons la requête ci-dessus pour nos dup_orders table, pour obtenir des valeurs en double pour id et montant colonne
mysql> select id, amount,count(*) from dup_orders group by id,amount ayant count(id)>1 and count(amount)>1;+------+------ --+----------+| identifiant | montant | compte(*) |+------+--------+----------+| 2 | 350 | 2 |+------+--------+----------+Heureusement, vous pouvez maintenant obtenir facilement des enregistrements en double dans MySQL.
Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !