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. 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:

1
2
3
4
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á. De esta manera 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.

Artículos relacionados

Mysql – Unir los resultados de dos consultar... En muchas ocasiones nos puede interesar unir el resultado de dos consultas. Ya sabemos que para unirlos, los resultados de las consultas deben tener e...
MySql – Eliminar registro saltando claves fo... En ocasiones nos enfrentamos a casos puntuales en los que valoras si arriesgarte o no. Una de ellas es la eliminación de registros en un motor de base...
MySql – Borrar saltando restricción Foreign ... Cuando estamos trabajando en base de datos de pruebas (en local o servidor), en ocasiones y normalmente en base de datos muy pesadas, nos puede intere...
Mysql – Exportar una base de datos desde con... Si ya vimos el caso de importar una base de datos de grandes dimensiones, lo mismo nos puede pasar a la hora de exportar. Si necesitamos exportar base...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*