Com treure files duplicades d'una taula de SQL Server?



Proveu El Nostre Instrument Per Eliminar Problemes

Quan dissenyem objectes a SQL Server, hem de seguir algunes pràctiques recomanades. Per exemple, una taula hauria de tenir claus primàries, columnes d’identitat, índexs agrupats i no agrupats, integritat de dades i restriccions de rendiment. La taula SQL Server no ha de contenir files duplicades segons les pràctiques recomanades en el disseny de bases de dades. De vegades, però, hem de tractar amb bases de dades on aquestes regles no se segueixen o on són possibles excepcions quan aquestes regles s’eviten intencionadament. Tot i que seguim les millors pràctiques, és possible que ens enfrontem a problemes com ara files duplicades.



Per exemple, també podríem obtenir aquest tipus de dades en importar taules intermèdies i voldríem suprimir files redundants abans d'afegir-les a les taules de producció. A més, no hauríem de deixar la possibilitat de duplicar files, ja que la informació duplicada permet la gestió múltiple de sol·licituds, resultats d'informes incorrectes i molt més. Tot i això, si ja tenim files duplicades a la columna, hem de seguir mètodes específics per netejar les dades duplicades. Vegem algunes maneres en aquest article d’eliminar la duplicació de dades.



La taula que conté files duplicades



Com treure files duplicades d'una taula de SQL Server?

Hi ha diverses maneres a SQL Server de gestionar registres duplicats en una taula en funció de circumstàncies particulars, com ara:

Eliminació de files duplicades d'una taula d'índex única de SQL Server

Podeu utilitzar l'índex per classificar les dades duplicades en taules d'índex exclusives i suprimir els registres duplicats. En primer lloc, cal crear una base de dades anomenat 'test_database' i, a continuació, creeu una taula ' Empleat ”Amb un índex únic mitjançant el codi que es mostra a continuació.

USE master GO CREATE DATABASE test_database GO USE [test_database] GO CREATE TABLE Empleat ([ID] INT NOT NULL IDENTITY (1,1), [Dep_ID] INT, [Name] varchar (200), [email] varchar (250) NULL , [ciutat] varchar (250) NULL, [adreça] varchar (500) NULL CONSTRAINT Primary_Key_ID CLAU PRIMÀRIA (ID)

La sortida serà la següent.



Creació de la taula 'Empleat'

Ara inseriu dades a la taula. També inserirem files duplicades. El 'Dep_ID' 003,005 i 006 són files duplicades amb dades similars en tots els camps, excepte la columna d'identitat amb un índex de clau únic. Executeu el codi que es mostra a continuació.

USE [test_database] INSERIR A L'empleat (Dep_ID, nom, correu electrònic, ciutat, adreça) VALORS (001, 'Aaaronboy Gutierrez