sql >> Base de Datos >  >> RDS >> Mysql

Consulta para encontrar y eliminar datos duplicados de la tabla MYSql

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.



Si te gusta esta publicación, no olvides suscribirte a mi libreta pública para obtener más cosas útiles