Pregunta: Tengo una base de datos enorme y hay bastantes valores repetidos en una tabla que me gustaría borrar. ¿Cómo lo hago?
Respuesta:
Seguro que muchos de vosotros habéis tenido un problema parecido y probablemente no hayais encontrado una manera genérica de hacerlo, bien, pues aquí lo dejo:
Código sql:
Ver originalSELECT a.columna
FROM tabla AS a
WHERE (SELECT COUNT(*)
FROM tabla AS b
WHERE a.columna = b.columna) > 1
Esta de aquí para que sólo os aparezcan una muestra de lo repetido (Sólo se añade un DISTINCT):
Código sql:
Ver originalSELECT DISTINCT a.columna
FROM tabla AS a
WHERE (SELECT COUNT(*)
FROM tabla AS b
WHERE a.columna = b.columna) > 1
EDITO:
Otra forma de hacerlo, gracias a
huesos52, es:
Código sql:
Ver originalSELECT *
FROM tabla
GROUP BY campo
HAVING COUNT(*) > 1;
Un saludo!