oracle删除重复记录的方法

 删除重复记录方法(实验说明):

1.表stu中共16条数据,无一重复
select rowid,xh,xm,sex,birthday,classid,degree from stu
order by xh;

 
2.将表stu中的数据复制成两份,以便实验,复制后共32条数据,两两重复,如下图。
insert into stu select * from stu;

3.一样的数据,rowid是唯一的,所以通过rowid来删除重复数据
把相同的数据分组,只保留其中ROWID最小的,sql如下:
 
delete from stu where ROWID not in(
--每个相同中的最小ROWID
select min(ROWID) from stu group by xh);
 
执行sql后,查询结果为原来的16条数据,如下图:

4.若数据重复超过两条,同样适用。

你可能感兴趣的:(oracle,删除,职场,休闲,删除重复)