Как найти дубликаты в столбце Уникальный код и удалить строки, к которым они прикреплены, при этом сохраняя исходную строку? - PullRequest
0 голосов
/ 27 марта 2019

У меня есть таблица на моем sql-сервере Azure с именем dbo.SQL_Transactional, и есть столбцы с заголовками, такими как code, saledate, branchcode

code - это мой первичный ключ, поэтому, если когда-либо будет 2 или более строкс одним и тем же кодом они являются дубликатами и должны быть удалены.Как я могу это сделать?Мне не нужно беспокоиться о том, являются ли дубликаты saledate или branchcode дубликатами, потому что если дублированный код, то это все, что мне нужно, чтобы иметь возможность удалить всю дублирующую строку.

1 Ответ

1 голос
/ 27 марта 2019

Если вы просто хотите удалить дублирующиеся строки, попробуйте обновляемый CTE:

with todelete as (
      select t.*, row_number() over (partition by code order by code) as seqnum
      from t
     )
delete from todelete
    where seqnum > 1;

Если вы просто хотите выбрать одну строку, вы должны использовать where seqnum = 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...