Как удалить повторяющиеся строки из таблицы SQL Server?



Попробуйте наш инструмент устранения неполадок

При разработке объектов в SQL Server мы должны следовать определенным передовым методикам. Например, таблица должна иметь первичные ключи, столбцы идентификаторов, кластерные и некластеризованные индексы, целостность данных и ограничения производительности. Таблица SQL Server не должна содержать повторяющихся строк в соответствии с лучшими практиками проектирования баз данных. Иногда, однако, нам нужно иметь дело с базами данных, в которых эти правила не соблюдаются или где возможны исключения, когда эти правила намеренно игнорируются. Несмотря на то, что мы следуем лучшим практикам, мы можем столкнуться с такими проблемами, как повторяющиеся строки.



Например, мы также можем получить этот тип данных при импорте промежуточных таблиц, и мы хотели бы удалить избыточные строки перед фактическим добавлением их в рабочие таблицы. Более того, мы не должны оставлять перспективу дублирования строк, потому что дублирующаяся информация позволяет многократно обрабатывать запросы, неверные результаты отчетов и многое другое. Однако, если у нас уже есть повторяющиеся строки в столбце, нам нужно следовать определенным методам, чтобы очистить повторяющиеся данные. В этой статье мы рассмотрим некоторые способы устранения дублирования данных.



Таблица, содержащая повторяющиеся строки



Как удалить повторяющиеся строки из таблицы SQL Server?

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

Удаление повторяющихся строк из таблицы уникального индекса SQL Server

Вы можете использовать индекс для классификации повторяющихся данных в уникальных индексных таблицах, а затем удалить повторяющиеся записи. Во-первых, нам нужно создать базу данных с именем «test_database», затем создайте таблицу « Работник ”С уникальным индексом, используя приведенный ниже код.

ИСПОЛЬЗУЙТЕ мастер GO CREATE DATABASE test_database GO USE [test_database] GO CREATE TABLE Сотрудник ([ID] INT NOT NULL IDENTITY (1,1), [Dep_ID] INT, [Name] varchar (200), [email] varchar (250) NULL , [город] varchar (250) NULL, [адрес] varchar (500) NULL CONSTRAINT Primary_Key_ID PRIMARY KEY (ID))

Результат будет таким, как показано ниже.



Создание таблицы «Сотрудник»

Теперь вставляем данные в таблицу. Мы также вставим повторяющиеся строки. «Dep_ID» 003,005 и 006 - это повторяющиеся строки с аналогичными данными во всех полях, кроме столбца идентификаторов с уникальным индексом ключа. Выполните приведенный ниже код.

ИСПОЛЬЗУЙТЕ [test_database] GO INSERT INTO Сотрудник (Dep_ID, имя, электронная почта, город, адрес) VALUES (001, 'Aaaronboy Gutierrez