Возьмите запрос tsql ниже:
DECLARE @table TABLE(data VARCHAR(20))
INSERT INTO @table VALUES ('not duplicate row')
INSERT INTO @table VALUES ('duplicate row')
INSERT INTO @table VALUES ('duplicate row')
INSERT INTO @table VALUES ('second duplicate row')
INSERT INTO @table VALUES ('second duplicate row')
SELECT data
INTO #duplicates
FROM @table
GROUP BY data
HAVING COUNT(*) > 1
-- delete all rows that are duplicated
DELETE FROM @table
FROM @table o INNER JOIN #duplicates d
ON d.data = o.data
-- insert one row for every duplicate set
INSERT INTO @table(data)
SELECT data
FROM #duplicates
Я понимаю, что он делает, но последняя часть логики (после - вставьте одну строку для каждого дублирующего набора) не имеет смысла. Где у нас есть набор кода для --delete всех строк, которые дублируются, что избавляет от дубликатов, так какова часть последнего раздела?
Этот запрос был найден здесь
Спасибо