注册 登录
编程论坛 Oracle论坛

求助删除语句

haipeng01 发布于 2010-03-19 09:01, 679 次点击
如何删除数据库中重复的记录,例如第1和第4条重复、第3和第7条重复 ,删除后只保留重复中的一条,谢谢咯。
2 回复
#2
流星雨2010-03-20 22:14
delete from tb a where a.rowid in (select max(b.rowid) from tb b where a.id=b.id);
但这一办法在数据记录超过万时一般都会变得很慢。 不适合操作大数据。
#3
流星雨2010-03-20 22:16
还有个方法建立临时表,步骤如下:
建立临时表
create table temp_emp as (select distinct * from employee) ;
清空原表
truncate table employee;
插回原表
insert into employee select * from temp_emp;
这一办法适用于较大的表的情况。因为是块操作,对应于大表效率会好很多
我讲得比较详细了,你自己去试试
1