SQL – Listar registros duplicados o repetidos

Cuando estamos trabajando con bases de datos con muchos registros, se puede producir muchos errores. Muchos de ellos es la duplicación de registros. Veamos cómo listar qué registros están duplicados o repetidos en SQL.

Hay muchas personas añadiendo datos y no controlan que pueden añadir al mismo cliente 2 o 3 veces… Cómo podemos controlar esto?

Una es sencilla: a la hora de insertar los registros controlar duplicaciones. Otra es la que os muestro que sería la mas ‘radical’. Listamos en la base de datos los registros duplicados. Imaginemos que tenemos una tabla ‘Inmueble’ con el campo ‘Dirección’. Listemos los inmuebles que tienen la dirección repetida mas una vez:

SELECT Inmueble, Direccion, count(*)
FROM Inmuebles
GROUP BY Direccion
HAVING count(*) > 1

De esta manera estamos listando todos los registros que tienen repetidos la dirección y la veces que lo está. Por consiguiente podemos controlar si una misma dirección está repetida, y por tanto podemos tener un inmueble repetido.

Es un ejemplo muy simple y sin mucho sentido, pero suficiente para que veáis cómo buscar registros repetidos en una tabla. Está claro que si las personas que han añadido los registros, cada uno lo ha hecho de diferente manera, esto no funciona. Si cada un pone la dirección de forma diferente, no se podrá localizar los duplicados:

Ejemplo:

C/ Baix Penedes, 1 4 D

Con la consulta que proponemos, no es lo mismo que

Calle Baix Penedés, 1, 4-D

Espero que os sea de utilidad el artículo SQL – Listar registros duplicados o repetidos.


Más información