Este es el problema muy frecuente para manejar datos duplicados en la tabla mysql. Si está trabajando con una gran cantidad de datos, es posible que haya enfrentado este problema. Por lo tanto, en esta publicación, le mostraré la consulta MYsql mediante la cual puede encontrar datos duplicados. y eliminarlo. Esta es también la pregunta más frecuente durante el tiempo de la entrevista.
Supongamos que tenemos 25k empresas en nuestra base de datos, y existen algunas empresas duplicadas en su tabla de empresas y desea encontrar empresas duplicadas y desea eliminarlas por completo de su tabla de empresas y luego utilizar las siguientes consultas mysql.
TB_COMPANIES
ID | NOMBRE_COMPAÑÍA | DIRECCIÓN | CONTACT_PERSON_NAME | ID DE CORREO ELECTRÓNICO | TELÉFONO |
---|---|---|---|---|---|
1 | HCL LTD. | NOIDA | XXXXXXX | [email protected] | xxxxxxxx |
2 | WIPRO | DELHI | XXXXXXX | [email protected] | xxxxxxxx |
3 | HCL LTD. | NOIDA | XXXXXXX | [email protected] | xxxxxxxx |
.. | .. | .. | .. | x.. | … |
.. | .. | .. | .. | x.. | … |
.. | .. | .. | .. | x.. | … |
En la tabla anterior hay registros duplicados de la empresa HCL que tenemos que encontrar y eliminar.
Consulta MYSql para encontrar datos duplicados.
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 ) |
Consulta MYSql para eliminar datos duplicados.
DELETE C1 FROM TB_COMPANIES C1,TB_COMPANIES C2 WHERE C1.ID < C2.ID AND C1.COMPANY_NAME = C2.COMPANY_NAME |
Arriba vio, al usar la subconsulta MYsql y la función de autounión, puede escribir fácilmente una consulta para encontrar y eliminar datos duplicados.