2016-02-03 1 views
-4

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

+2

Думаю, вам следует немного разъяснить свой вопрос примерами того, что вы пробовали до сих пор, и какой результат вы ожидаете. См. [Как задать вопрос.] (Http://stackoverflow.com/help/how-to-ask) – Marusyk

+0

Используйте DELETE и убедитесь, что транзакция завершена. – jarlh

ответ

2

Мне нравится CTE-х и ROW_NUMBER, поскольку она позволяет изменить его легко увидеть, какие строки будут удалены (или обновлены), поэтому просто изменить DELETE FROM КТР ... для SELECT * FROM КТР:

;WITH CTE AS (
    SELECT [col1], 
      [col2], 
      [col3], 
      [col4], 
      [col5], 
      [col6], 
      [col7], 
      RN = ROW_NUMBER() OVER (PARTITION BY col1 ORDER BY col1) 
    FROM dbo.table 
) 
DELETE FROM CTE 
WHERE RN > 1 

Попробуйте это