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

sqlserver2005 表中有两条完全相同的记录,怎么删除这两条记录

2012-12-17 
sqlserver2005 表中有两条完全相同的记录,如何删除这两条记录sqlserver2005 表中没有设置主键,但有两条完

sqlserver2005 表中有两条完全相同的记录,如何删除这两条记录
sqlserver2005 表中没有设置主键,
但有两条完全相同的记录,想删除其中一条,不能删除,这两条记录都不能删除
如何删除这两条记录
[最优解释]
先增加一自动递增的标识列,再删除其中一行,再删除标识列
[其他解释]
没有看明白你的详细意思,不过按照我的理解。假如是删除两条记录的其中一条的话,你可以这样:


delete from 
(
select *,ps=row_number()over(order by getdate())
from table
where id='重复记录的那个id'
) a
where a.ps=2

[其他解释]
delete from ( select *,ps=row_number()over(order by getdate()) from tablewhere id='重复记录的那个id') a where a.ps<>1

删除多条重复,只留下一条
[其他解释]
yes  delete  其中1条
[其他解释]
用distinct的方法,把所有数据查出来(此时已经是唯一了),插入一个临时表。然后truancate源表,再把临时表的数据插回来,最后建议建立一个主键或者自增ID.
[其他解释]
引用:
没有看明白你的详细意思,不过按照我的理解。假如是删除两条记录的其中一条的话,你可以这样:


SQL code?



12345678

delete from ( select *,ps=row_number()over(order by getdate()) from tablewhere id='重复记录的那个id') a where a.ps=2

这个不行啊。有语法错误
[其他解释]
楼主的意思是两条完全相同的记录,但是没有标识列,怎么删除,如果有id就好办了,
name  age
test  22
test  22
[其他解释]
都没有看懂楼主的意思么?

有两条完全相同的记录,想删除其中一条,不能删除,这两条记录都不能删除
如何删除这两条记录 


这句话什么逻辑?
[其他解释]
如果是两条相同记录,没有主键。不能同时删除这两条记录,必须保留一条,那么用楼上DBA的方法。
[其他解释]
select distinct * into temp from tablename
delete from tablename
insert into tablename select * from temp
[其他解释]
建立一个临时表过渡一下

select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp1

[其他解释]
该回复于2012-11-26 14:27:35被版主删除

热点排行