Consulta SQL para eliminar filas duplicadas

A través de este artículo, aprenderemos cómo eliminar filas duplicadas de una tabla de base de datos. Como sabemos, la duplicidad en nuestra base de datos tiende a ser una pérdida de espacio de memoria. Registra datos inexactos y tampoco puede obtener los datos correctos de la base de datos.

Una o más filas que tienen valores de datos idénticos o iguales se consideran filas duplicadas. 

Ahora, tenemos que seguir los pasos a continuación para completar la tarea:

Paso 1:   Primero tenemos que crear una tabla con el nombre «DETALLES»- 

Consulta:

CREATE TABLE DETAILS
( SN INT IDENTITY(1,1)
 EMPNAME VARCHAR(25),
 DEPT VARCHAR(20),
 CONTACTNO BIGINT NOT NULL,
 CITY VARCHAR(15)
 );
 

Paso 2: Ahora, tenemos que insertar valores o datos en la tabla.

INSERT INTO EMPDETAIL
 VALUES ('VISHAL','SALES',9193458625,'GAZIABAD'),
 ('VIPIN','MANAGER',7352158944,'BARIELLY'),
 ('ROHIT','IT',7830246946,'KANPUR'),
('RAHUL','MARKETING',9635688441,'MEERUT'),
('SANJAY','SALES',9149335694,'MORADABAD'),
('VIPIN','MANAGER',7352158944,'BARIELLY'),
('VISHAL','SALES',9193458625,'GAZIABAD'),
('AMAN','IT',78359941265,'RAMPUR');

Salida: tenemos una vista de la Tabla después de insertar los valores:

Paso 3: en este paso, tenemos que encontrar cuántas filas están duplicadas.

Consulta: 

SELECT EMPNAME,DEPT,CONTACTNO,CITY, COUNT(*) FROM EMPDETAIL
GROUP BY EMPNAME,DEPT,CONTACTNO,CITY
HAVING COUNT(*)>1

Producción:

Paso 4: también puede encontrar la fila única usando esta fila. 

SELECT EMPNAME,DEPT,CONTACTNO,CITY, COUNT(*) FROM DETAILS
GROUP BY EMPNAME,DEPT,CONTACTNO,CITY

Paso 5: Finalmente, debemos eliminar la fila duplicada de la base de datos.

DELETE FROM DETAILS WHERE SN NOT IN (
SELECT MAX(SN) FROM DETAILS GROUP BY EMPNAME,DEPT,CONTACTNO,CITY)

Paso 6: después de eliminar la fila duplicada, tenemos una vista de la tabla: 

Producción:

Publicación traducida automáticamente

Artículo escrito por ManasChhabra2 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 *