Hogyan távolítsuk el az ismétlődő sorokat az SQL Server táblából?



Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére

Az SQL Server objektumainak megtervezésekor be kell tartanunk bizonyos bevált gyakorlatokat. Például egy táblának tartalmaznia kell elsődleges kulcsokat, azonosító oszlopokat, fürtözött és nem fürtözött indexeket, az adatok integritását és a teljesítményre vonatkozó korlátozásokat. Az SQL Server tábla nem tartalmazhat ismétlődő sorokat az adatbázis-tervezés legjobb gyakorlatának megfelelően. Néha azonban olyan adatbázisokkal kell foglalkoznunk, ahol ezeket a szabályokat nem tartják be, vagy ahol kivételek lehetségesek, ha ezeket a szabályokat szándékosan megkerülik. Annak ellenére, hogy követjük a bevált módszereket, szembesülhetünk olyan problémákkal, mint a sorok ismétlése.



Például ilyen típusú adatokat is beszerezhetünk köztes táblák importálása közben, és törölni szeretnénk a felesleges sorokat, mielőtt azokat ténylegesen hozzáadnánk a termelési táblákhoz. Sőt, nem szabad hagynunk a sorok ismétlésének lehetőségét, mert az ismétlődő információk lehetővé teszik a kérelmek többszöri kezelését, a helytelen jelentési eredményeket és még sok minden mást. Ha azonban már vannak duplikált sorok az oszlopban, akkor a duplikált adatok megtisztításához specifikus módszereket kell követnünk. Nézzünk meg néhány módszert a cikkben az adatmásolás eltávolítására.



Az ismétlődő sorokat tartalmazó táblázat



Hogyan távolítsuk el az ismétlődő sorokat az SQL Server táblából?

Az SQL Server számos módon kezelheti a duplikált rekordokat egy táblázatban az adott körülmények alapján, például:

Ismétlődő sorok eltávolítása egy egyedi index SQL Server táblából

Az index segítségével osztályozhatja az ismétlődő adatokat egyedi indextáblákba, majd törölheti az ismétlődő rekordokat. Először is meg kell hozzon létre egy adatbázist nevű „test_database”, majd hozzon létre egy táblázatot Munkavállaló ”Egyedi mutatóval az alább megadott kód felhasználásával.

FELHASZNÁLÁS master GO CREATE DATABASE teszt_database GO USE [test_database] GO CREATE TABLE Alkalmazott ([ID] INT NOT NULL IDENTITY (1,1), [Dep_ID] INT, [Name] varchar (200), [email] varchar (250) NULL , [város] varchar (250) NULL, [cím] varchar (500) NULL CONSTRAINT Elsődleges_Kulcs_ID ELSŐDLEGES KULCS (ID))

A kimenet az alábbi lesz.



Az „Alkalmazott” táblázat létrehozása

Helyezze be az adatokat a táblázatba. Ismétlődő sorokat is beszúrunk. A „Dep_ID” 003 005 és 006 ismétlődő sorok, hasonló adatokkal az összes mezőben, kivéve az egyedi kulcsindexet tartalmazó azonosító oszlopot. Hajtsa végre az alább megadott kódot.

HASZNÁLJA [test_database] FELHASZNÁLJA Munkavállalót (Dep_ID, Név, e-mail cím, város, cím)