首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2013-01-11 
求:SQL数据库删除重复数据的语句表中有3个字段,分别为:idpwdhome比如:idpwdhome1112223331112223331112223

求: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起到序列的作用,以後面的刪除作準備
[解决办法]
忘删除源表数据了

热点排行