删除SQL数据库中重复的记录。

来源:百度知道 编辑:UC知道 时间:2024/05/13 04:32:26
重复记录要完全一样的。数据库中没有主键
老大我的表不能设主键,是每天的工作记录。
怎么可能有唯一的主键呢?主键就别考虑了!

方法很多,说一个最简单的。
先建一个表,结构和原来的表一样,但是在你要去重的列建立一个主键,并设置“忽略重复键”,把原表中的所有数据插入这个新表,
此时新表中的数据就已经是非重复的了。
把原表数据都删掉,把新表中的数据都导回来就OK了

select distinct * into #tmp from table_name_s

truncate table table_name_s

insert into table_name_s
select * from #tmp
我这个就是对的啊。

比如:Table 中包含a,b,c三列。
先查出重复的记录:
select*
from Table
group by a,b,c
having count(a) > 1
然后再去删。