Sql Server 中常见的几种删除重复数据的方法

来源:互联网 发布:淘宝网双肩女包卡帝包 编辑:程序博客网 时间:2024/04/29 20:08

1. DELETE FROM TABLE_NAME WHERE ID NOT IN (SELETE MIN(ID) FROM TABLE_NAME GROUP BY COLUMN1),这种方法有限制条件,列ID必须是自增列

 

2.  适用于Sql Server 2005以上的版本,此方法效率最高,速度最快

WITH

TAB1 AS (SELECT ROW_NUMBER() OVER (PARTITION BY COLUMN1,COLUMN2 ORDER BY COLUMN1,COLUMN2 ) AS rn ,* FROM TABLE_NAME)

DELETE FROM TAB1 WHERE TAB1.RN > 1

这种方法使用了Sql Server 2005 的ROW_NUMBER()特性,将相同的记录进行自增编号,如果有重复数据则编号就会大于1。

关于ROW_NUMBER()的用法还有很多,大家如果想知道,可以去看看SQL Server2005的内置函数,有很多比较实用的东西。

原创粉丝点击