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.