Jak odebrat duplicitní řádky z tabulky serveru SQL?



Vyzkoušejte Náš Nástroj Pro Odstranění Problémů

Při navrhování objektů na serveru SQL Server musíme dodržovat určité osvědčené postupy. Například tabulka by měla mít primární klíče, sloupce identity, seskupené a nekupované indexy, omezení integrity dat a výkonu. Tabulka serveru SQL Server by neměla obsahovat duplicitní řádky podle osvědčených postupů při návrhu databáze. Někdy však musíme zacházet s databázemi, kde se tato pravidla nedodržují nebo kde jsou možné výjimky, když jsou tato pravidla záměrně obcházena. I když se řídíme osvědčenými postupy, můžeme čelit problémům, jako jsou duplicitní řádky.



Například bychom mohli získat tento typ dat při importu mezilehlých tabulek a chtěli bychom odstranit nadbytečné řádky, než je skutečně přidáme do produkčních tabulek. Kromě toho bychom neměli nechat vyhlídku na duplikování řádků, protože duplicitní informace umožňují vícenásobné vyřizování požadavků, nesprávné výsledky hlášení a další. Pokud však ve sloupci již máme duplicitní řádky, je třeba duplicitní data vyčistit pomocí konkrétních metod. Podívejme se na některé způsoby, jak v tomto článku odstranit duplikaci dat.



Tabulka obsahující duplicitní řádky



Jak odebrat duplicitní řádky z tabulky serveru SQL?

Na serveru SQL Server existuje řada způsobů, jak zpracovat duplicitní záznamy v tabulce na základě konkrétních okolností, jako například:

Odebrání duplikátů řádků z jedinečné indexové tabulky serveru SQL

Rejstřík můžete použít ke klasifikaci duplicitních dat v jedinečných indexových tabulkách a poté k odstranění duplicitních záznamů. Nejprve musíme vytvořit databázi s názvem „test_database“, poté vytvořte tabulku „ Zaměstnanec „S jedinečným indexem pomocí níže uvedeného kódu.

USE master GO CREATE DATABASE test_database GO USE [test_database] GO CREATE TABLE Employee ([ID] INT NOT NULL IDENTITY (1,1), [Dep_ID] INT, [Name] varchar (200), [email] varchar (250) NULL , [město] varchar (250) NULL, [adresa] varchar (500) NULL CONSTRAINT Primary_Key_ID PRIMARY KEY (ID))

Výstup bude uveden níže.



Vytvoření tabulky „Zaměstnanec“

Nyní vložte data do tabulky. Vložíme také duplicitní řádky. „Dep_ID“ 003 005 a 006 jsou duplicitní řádky s podobnými daty ve všech polích kromě sloupce identity s jedinečným indexem klíče. Spusťte níže uvedený kód.

POUŽITÍ [test_database] PŘEJDĚTE DO ZÁKAZNÍKA (Dep_ID, jméno, e-mail, město, adresa) HODNOTY (001, 'Aaaronboy Gutierrez