【发布时间】:2016-02-03 10:34:23
【问题描述】:
如何永久删除表中的重复行?
【问题讨论】:
-
我认为您应该通过迄今为止尝试过的示例以及您期望的输出来澄清您的问题。见how to ask a question.
-
使用 DELETE,并确保事务已提交。
标签: sql sql-server sql-delete
如何永久删除表中的重复行?
【问题讨论】:
标签: sql sql-server sql-delete
我喜欢 CTE 和 ROW_NUMBER,因为它允许轻松更改它以查看哪些行被删除(或更新),因此只需将 DELETE FROM CTE... 更改为 SELECT * FROM CTE:
;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
试试这个
【讨论】: