oracle查询重复数据并删除掉多余部分
2017-01-02 10:39
323 查看
--查询重复的数据:
select t.stu_name, t.class_name, t.score
from tb3 t
where exists (select t1.stu_name
from tb3 t1
where t1.stu_name = t.stu_name
group by t1.stu_name
having count(t1.stu_name) > 1);
--删除重复数据
delete from tb3 t
where rowid > (select min(rowid)
from tb3 t1
where t1.stu_name = t.stu_name
group by t1.stu_name
having count(t1.stu_name) > 1);
commit;
--还有一种方法:
delete from tb2 t
where t.stu_name in (select stu_name
from tb2
group by stu_name
having count(stu_name) > 1)
and rowid not in (select min(rowid)
from tb2
group by stu_name
having
4000
count(stu_name) > 1);
commit;
select t.stu_name, t.class_name, t.score
from tb3 t
where exists (select t1.stu_name
from tb3 t1
where t1.stu_name = t.stu_name
group by t1.stu_name
having count(t1.stu_name) > 1);
--删除重复数据
delete from tb3 t
where rowid > (select min(rowid)
from tb3 t1
where t1.stu_name = t.stu_name
group by t1.stu_name
having count(t1.stu_name) > 1);
commit;
--还有一种方法:
delete from tb2 t
where t.stu_name in (select stu_name
from tb2
group by stu_name
having count(stu_name) > 1)
and rowid not in (select min(rowid)
from tb2
group by stu_name
having
4000
count(stu_name) > 1);
commit;
相关文章推荐
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- oracle 删除重复多余的数据
- Oracle查询重复数据与删除重复记录方法
- Oracle查询重复数据与删除重复记录方法
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据并删除,只保留一条记录
- oracle 查询重复数据以及删除重复数据
- Oracle查询重复数据并删除,只保留一条记录
- oracle查询重复数据与删除重复记录方法
- Oracle查询重复数据与删除重复记录方法
- oracle查询重复数据与删除重复记录方法
- Oracle查询重复数据并删除,只保留一条记录
- oracle删除重复的多余数据最快最有效的方法
- Oracle查询重复数据与删除重复记录方法
- oracle查询重复数据和删除重复记录示例分享
- Oracle查询重复数据与删除重复记录方法
- Oracle查询重复数据并删除,只保留一条记录
- Oracle查询重复数据与删除重复记录方法