【问题标题】:About Delete Command in SQL Server [closed]关于 SQL Server 中的删除命令 [关闭]
【发布时间】:2016-02-03 10:34:23
【问题描述】:

如何永久删除表中的重复行?

【问题讨论】:

  • 我认为您应该通过迄今为止尝试过的示例以及您期望的输出来澄清您的问题。见how to ask a question.
  • 使用 DELETE,并确保事务已提交。

标签: sql sql-server sql-delete


【解决方案1】:

我喜欢 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

试试这个

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多