Sql Server 删除表中没有主键的重复数据

数据库中的数据在很多情况下是从Excel中导入的,这就难免有些重复的数据,然而这些数据又没有主键,那么该如何去重呢?

有一张数据如下的表:

尝试了很多方法,觉得有一种比较实用,步骤比较简单:

用distinct关键字查询出不重复的数据后,将数据写入虚拟表中,删除原表,读取虚拟表数据,写回原表,

请看代码:

select distinct name,userid,userpwd into #aa from table1  --创建虚拟表#aa,查询不重复的数据写入虚拟表
drop table table1   --将原表删除
select userid,name,userpwd into table1 from #aa  --读取虚拟表写入原表(由于原表已删,这里的table1是自动创建的)
drop table #aa  --写入数据完成后,将虚拟表删除

如此一来,表中的重复数据就去除成功了,了然了吧。

posted @ 2012-12-28 11:44  Jackie Hao  阅读(554)  评论(0编辑  收藏  举报