读书人

求:SQL数据库剔除重复数据的语句

发布时间: 2013-01-11 11:57:35 作者: rapoo

求:SQL数据库删除重复数据的语句
表中有3个字段,分别为: id pwd home

比如:
id pwd home
111 222 333
111 222 333
111 222 333

这样的数据就是重复的

求一个语句,把这样的数据留一个, 剩下的全删 单纯从数据来说:直接select distinct * from 表 不就可以咯?
[解决办法]
然后把这些数据先存到一个临时表,然后turncate源表,再把数据插回去。方法有多种,
[解决办法]
1 :首先查找出重复的数据并且过滤掉 ,然后复制到一张临时表里面
select * into temp from (select distinct* from tab) as a
2:删除之前的原始表
drop table tab
3:把临时表里面的数据再复制到原始表里(注:这里的原始表意义上是和之前的那个表的表名一样)
select * into tab from temp
[解决办法]

引用:
不会呀,各位大侠,只求一条语句啊
太多了,看不懂


我给你写了个啊...

引用:
参考http://bbs.csdn.net/topics/240034273


这个就没问题..
[解决办法]
错了,是2楼的
[解决办法]
步骤1:select distinct * into #t from tb
步骤2:truncate table tb
步骤3:insert into tb select * from #t
步骤4:drop table #t
[解决办法]
引用:
SQL code?12345with tb(a,id,pwd,home) as(select row_number() over(partition by id,pwd,home order by id)a,* from 表名)delete tb where a>2

这个就可以啊
[解决办法]
引用:
SQL code?12345with tb(a,id,pwd,home) as(select row_number() over(partition by id,pwd,home order by id)a,* from 表名)delete tb where a>2
+1
[解决办法]
引用:
(a,id,pwd,home)
这里的a是干嘛的啊

a起到序列的作用,以後面的除作
[解决办法]
忘删除源表数据了

读书人网 >SQL Server

热点推荐