Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête pour rechercher et supprimer les données en double de la table MYSql

C'est très souvent le problème de gérer les données en double dans la table mysql, si vous travaillez sur une énorme quantité de données, vous pourriez avoir rencontré ce problème, donc dans ce post je vais vous montrer la requête MYsql par laquelle vous pouvez trouver des données en double et retirez-le. C'est aussi la question la plus posée au moment de l'entretien.



Supposons que nous ayons 25 000 entreprises dans notre base de données, et qu'il existe des entreprises en double dans votre sociétés et que vous souhaitez trouver des sociétés en double et que vous souhaitez les supprimer complètement de votre table de sociétés, puis utilisez les requêtes mysql ci-dessous.

TB_COMPANIES

identifiant COMPANY_NAME ADRESSE CONTACT_PERSON_NAME ID EMAIL NUMÉRO
1 HCL LTD. NOÏDA XXXXXXX [email protected] xxxxxxxx
2 WIPRO DELHI XXXXXXX [email protected] xxxxxxxx
3 HCL LTD. NOÏDA XXXXXXX [email protected] xxxxxxxx
.. .. .. .. x..
.. .. .. .. x..
.. .. .. .. x..

Dans le tableau ci-dessus, il y a des enregistrements en double de la société HCL que nous devons rechercher et supprimer.

Requête MYSql pour trouver des données en double.

SELECT COMPANY_NAME
FROM TB_COMPANIES
WHERE COMPANY_NAME
IN (
SELECT COMPANY_NAME
FROM TB_COMPANIES
GROUP BY COMPANY_NAME
HAVING COUNT( COMPANY_NAME ) >1
)

Requête MYSql pour supprimer les données en double.

DELETE C1 
FROM TB_COMPANIES C1,TB_COMPANIES C2 
WHERE C1.ID < C2.ID 
AND C1.COMPANY_NAME = C2.COMPANY_NAME

Ci-dessus, vous avez vu, à l'aide de la sous-requête MYsql et de la fonctionnalité d'auto-jointure, vous pouvez facilement écrire une requête pour rechercher et supprimer des données en double.



Si vous aimez cet article, n'oubliez pas de vous abonner à mon bloc-notes public pour des informations plus utiles