SQL SERVER 删除表中重复的行
如果在建表时,没有设置序号、主键的情况下,表中出现重复的资料删除时,不能利用保留最小的rowid的方式来处理。小编也是通过网络和书籍查询总结,最后把最简单的操作方式分享给大家-----通过将不重复的行插入到临时表中的方法。
操作方法
- 01
首先我们查看数据库中重复的资料,以表 Line 为例,里面实际数据只有4条,有15条重复的 select * from dbo.Line 。
- 02
将不重复的数据查询出来并放到临时表中 select distinct * into #temp from Line 。
- 03
删除Line表中的内容 delete Line 。
- 04
将临时表中的数据插入到表Line中 insert Line select * from #temp
- 05
删除临时表#temp drop table #temp
- 06
再次查询结果就只剩下不重复的数据: select * from dbo.Line
- 07
附上完整的SQL语句,复制后更改表名可直接使用。 select distinct * into #temp from Line delete Line go insert Line select * from #temp go drop table #temp
赞 (0)