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 --写入数据完成后,将虚拟表删除
如此一来,表中的重复数据就去除成功了,了然了吧。