如何删除数据表中重复的记录
我以前见过采用临时表的方式删除重复记录,但现在记不清了,请求帮助· 问题点数:20、回复次数:7Top
1 楼aw511(点点星灯)回复于 2005-11-09 21:47:23 得分 5
http://dev.csdn.net/article/75/75420.shtmTop
2 楼myloveyshp()回复于 2005-11-09 21:51:13 得分 0
谢谢·Top
3 楼scmail81(琳·风の狼(修罗))回复于 2005-11-09 21:57:15 得分 10
方法1:
--简单的方法就是借用临时表
--方式:把数据首先放到临时表
--在临时表中处理重复记录问题.
--删除物理数据表
--从临时表把数据取出来,放入物理表中
--删除临时表
Select distinct * into #temp from table1
delete table1
insert into table1
Select * from #temp
drop table #temp
方法2:
--方式2:
delete 表名
from 表名 tt
where exists(select 1 from 表名 where 字段=tt.字段 and 字段=tt.字段 and 主键<tt.主键)
方法3
--保留最小的ID
deTop
4 楼scmail81(琳·风の狼(修罗))回复于 2005-11-09 21:58:11 得分 0
方法3
--保留最小的ID
delete 表 where ID not in(select min(ID) from 表 group by 字段...(注:重复的字段行))Top
5 楼lxzm1001(*~悠悠蓝星梦~*)回复于 2005-11-09 22:00:26 得分 5
select distinct * into #t from tablename
delete tablename
insert tablename select * from #t
drop table #tTop
6 楼myloveyshp()回复于 2005-11-09 22:09:06 得分 0
大家看看这个方法可行吗??
create table temp as (select distinct * from stu_infor)
truncate table stu_infor
insert into stu_infor select * from temp
Top
7 楼myloveyshp()回复于 2005-11-09 22:20:29 得分 0
没有人知道吗?
我见过这样的方法,但是在运行的时候提示:
as附近有语法错误·
怎么回事?Top




