Consulta SQL para encontrar nombres duplicados en una tabla

Los registros duplicados en una base de datos pueden ser problemáticos a veces, ya que crean confusión o también pueden generar resultados incorrectos. Por lo tanto, es mejor eliminar todos los registros duplicados de la base de datos, ya que nos ahorrará tiempo y espacio. Sin embargo, la mejor práctica es poner restricciones únicas (restricciones de clave principal ) en una tabla para evitar eso. 

      Este error podría deberse a varias razones, tales como: 

  • defectos de aplicación,
  • Error de usuario
  • Mal diseño de la base de datos
  • O por alguna fuente externa desconocida.

Entonces, en este artículo, vamos a encontrar nombres duplicados en una tabla. Para realizar esa consulta, necesitamos conocer la declaración GROUP BY y las funciones Agregadas (específicamente COUNT() ).

Le recomendamos que primero lea este artículo para una mejor comprensión.

Para encontrar los Nombres duplicados en la tabla, tenemos que seguir estos pasos:

  • Definición de los criterios:   Al principio, debe definir los criterios para encontrar los nombres duplicados. Es posible que desee buscar en una sola columna o más que eso.
  • Escriba la consulta: luego simplemente escriba la consulta para encontrar los nombres duplicados.

Empecemos-

Suponga que está trabajando con una base de datos de un sitio web de comercio electrónico. Ahora, algunos nombres de usuario se guardan más de una vez y también sus ID de correo electrónico. Esto provocará resultados analíticos erróneos para el sitio web de comercio electrónico, ya que no es necesario guardar estos datos más de una vez. 

Ahora vamos a crear primero nuestra base de datos de demostración,

Paso 1: Creación de la base de datos

Cree una nueva base de datos llamada User_details y luego utilícela.

Consulta:

CREATE DATABASE User_details; USE User_details;   

Producción:

Paso 2: Definición de la tabla

Cree una tabla llamada Usuarios1 y agregue estas cuatro columnas ID, Nombres, ID de correo electrónico y Edad.

Consulta:

CREATE Table Users1 (ID VARCHAR(20) Primary Key,
 Names VARCHAR(30), EmailId VARCHAR(30), Age INT);   

Producción:

Paso 3: inserte filas en la tabla e inserte estas seis filas en la tabla.

Consulta:

INSERT INTO Users1 VALUES('O1201', 'Radhika Malhotra', 'rad12@gmail.com', 21); 
INSERT INTO Users1 VALUES('O1202', 'Aryan Ray', 'Ar13@gmail.com', 25); 
INSERT INTO Users1 VALUES('O1203', 'Sam Das', 'Sam1@gmail.com', 54); 
INSERT INTO Users1 VALUES('O1204', 'Radhika Malhotra', 'rad12@gmail.com', 21);
 INSERT INTO Users1 VALUES('O1205', 'Aryan Ray', 'Ar13@gmail.com', 25);
  INSERT INTO Users1 VALUES('O1206', 'Radhika Malhotra', 'rad12@gmail.com', 21);   

Producción:

Paso 4: Visualización de datos insertados

Ejecute este comando para ver nuestra tabla.

Consulta:

SELECT * FROM Users1;    

Producción:

Tabla Usuarios1

Paso 5: Ahora, hagamos nuestra consulta para encontrar nombres duplicados en esta tabla.

  • Definición de los criterios: aquí definimos los criterios para que solo se seleccione la columna Nombres de la tabla Usuarios1.

Consulta: 

SELECT Names,COUNT(*) AS Occurrence FROM
 Users1 GROUP BY Names HAVING COUNT(*)>1;   

Esta consulta es sencilla. Aquí, estamos usando la cláusula GROUP BY para agrupar filas idénticas en la columna Nombres. Luego estamos encontrando el número de duplicados en esa columna usando la función COUNT() y mostramos esos datos en una nueva columna llamada Ocurrencia. Tener una cláusula solo mantiene los grupos que tienen más de una aparición.

Producción:

Hemos encontrado los Nombres duplicados y su Ocurrencia en nuestra tabla. Esta información puede ayudarnos a eliminar las filas duplicadas de la tabla en el futuro.

Publicación traducida automáticamente

Artículo escrito por diyaroy22 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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