Kā noņemt dublētās rindas no SQL Server tabulas?



Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai

Projektējot objektus SQL Server, mums jāievēro noteikta paraugprakse. Piemēram, tabulā jābūt primārajām atslēgām, identitātes kolonnām, grupētiem un neklasificētiem indeksiem, datu integritātei un veiktspējas ierobežojumiem. SQL Server tabulā nedrīkst būt rindu dublikāti saskaņā ar paraugpraksi datu bāzes projektēšanā. Dažreiz mums tomēr jārisina datu bāzes, kurās netiek ievēroti šie noteikumi vai kur ir iespējami izņēmumi, ja šie noteikumi tiek apzināti apieti. Lai arī mēs ievērojam paraugpraksi, mēs varam saskarties ar tādām problēmām kā rindu dublikāti.



Piemēram, importējot starptabulas, mēs varētu iegūt arī šāda veida datus, un mēs vēlētos izdzēst liekās rindas, pirms tās faktiski pievienojat ražošanas tabulām. Turklāt mums nevajadzētu atstāt iespēju dublēt rindas, jo informācijas dublikāti ļauj vairākkārt apstrādāt pieprasījumus, nepareizus pārskatu sniegšanas rezultātus un daudz ko citu. Tomēr, ja kolonnā jau ir dublikātu rindas, mums jāievēro īpašas metodes, lai notīrītu datu dublikātus. Apskatīsim dažus šī raksta veidus, kā noņemt datu dublēšanos.



Tabula, kurā ir rindu dublikāti



Kā noņemt dublētās rindas no SQL Server tabulas?

SQL Server serverī ir vairāki veidi, kā rīkoties ar ierakstu dublikātiem, pamatojoties uz konkrētiem apstākļiem, piemēram:

Dublikātu rindu noņemšana no unikālas indeksa SQL Server tabulas

Jūs varat izmantot indeksu, lai klasificētu datu dublikātus unikālās indeksu tabulās, pēc tam izdzēsiet ierakstu dublikātus. Pirmkārt, mums tas ir jādara izveidot datu bāzi ar nosaukumu “test_database”, pēc tam izveidojiet tabulu “ Darbinieks ”Ar unikālu indeksu, izmantojot zemāk norādīto kodu.

LIETOŠANA meistars GO IZVEIDOT DATU BĀZI GO LIETOT [test_database] GO IZVEIDOT GALDA Darbinieks ([ID] INT NAV NULL IDENTITĀTE (1,1), [Dep_ID] INT, [Name] varchar (200), [email] varchar (250) NULL , [pilsēta] varchar (250) NULL, [adrese] varchar (500) NULL CONSTRAINT Primary_Key_ID PRIMARY KEY (ID))

Rezultāts būs šāds.



Tabulas “Darbinieks” izveide

Tagad ievietojiet datus tabulā. Mēs ievietosim arī dublikātu rindas. “Dep_ID” 003,005 un 006 ir rindu dublikāti ar līdzīgiem datiem visos laukos, izņemot identitātes kolonnu ar unikālu atslēgu indeksu. Izpildiet zemāk norādīto kodu.

IZMANTOJIET [test_database] IET IEVADĪT Darbiniekam (Dep_ID, Vārds, e-pasts, pilsēta, adrese) VALUES (001, 'Aaaronboy Gutierrez