Удалить дубликаты в MS SQL Server

Опубликовано: 10 Августа, 2021

Повторяющиеся значения в любой таблице могут быть вызваны плохим дизайном таблицы или нежелательными данными из других источников. Чтобы удалить повторяющиеся данные из таблицы в SQL Server, выполните следующие действия:

  1. Найдите повторяющиеся строки.
  2. Используйте оператор DELETE, чтобы удалить повторяющиеся строки.

Давайте создадим таблицу с именем Geek -

 СОЗДАТЬ ТАБЛИЦУ Компьютерщик (
Имя NVARCHAR (100) NOT NULL,
Электронная почта NVARCHAR (255) NOT NULL,
Город NVARCHAR (100) NOT NULL);



Давайте вставим некоторые значения в таблицу Geek -

 ВСТАВИТЬ ЗНАЧЕНИЯ Geek (имя, адрес электронной почты, город)
(«Ниша», «nisha@gfg.com», «Дели»),
(«Мегха», «megha@gfg.com», «Нойда»),
('Хуши', 'khushi@gfg.com', 'Джайпур'),
('Хуши', 'khushi@gfg.com', 'Джайпур'),
('Хуши', 'khushi@gfg.com', 'Джайпур'),
('Хина', 'hina@gfg.com', 'Канпур'),
('Хина', 'hina@gfg.com', 'Канпур'),
('Миша', 'misha@gfg.com', 'Гуруграм'),
('Миша', 'misha@gfg.com', 'Гуруграм'),
(«Неха», «neha@gfg.com», «Пилани»);



Выведем содержимое таблицы Geek -

 ВЫБРАТЬ * 
ОТ Компьютерщика;

Стол - Компьютерщик

Имя Электронное письмо Город
Ниша nisha@gfg.com Дели
Мегха megha@gfg.com Нойда
Хуши khushi@gfg.com Джайпур
Хуши khushi@gfg.com Джайпур
Хуши khushi@gfg.com Джайпур
Хина hina@gfg.com Канпур
Хина hina@gfg.com Канпур
Хина hina@gfg.com Канпур
Миша misha@gfg.com Гуруграмма
Миша misha@gfg.com Гуруграмма
Неха neha@gfg.com Pilani



Запрос SQL Server на удаление повторяющихся записей из таблицы Компьютерщик:

 С КТР КАК (
ВЫБЕРИТЕ имя, адрес электронной почты, город
ROW_NUMBER () ВЫШЕ (
РАЗДЕЛЕНИЕ ПО ИМЕНИ, E-mail. Город
ЗАКАЗАТЬ по имени, электронной почте. Город
) row_num
ОТ Компьютерщика
)
УДАЛИТЬ ИЗ CTE
ГДЕ row_num> 1;



Выход -
(Затронуто 5 рядов)

 ВЫБРАТЬ * 
ОТ Компьютерщика;

Стол - Компьютерщик

Имя Электронное письмо Город
Ниша nisha@gfg.com Дели
Мегха megha@gfg.com Нойда
Хуши khushi@gfg.com Джайпур
Хина hina@gfg.com Канпур
Миша misha@gfg.com Гуруграмма
Неха neha@gfg.com Pilani