oracle 数据库中查询重复数据:
select * from employee group by emp_name having count (*)>1;
查询可以删除的重复数据
select t1.* from employee t1 where (t1.emp_name) in (SELECT t2.emp_name from employee t2 group by emp_name having count (*)>1)
and t1.emp_id not in (select min(t3.emp_id) from employee t3 group by emp_name having count (*)>1);
删除重复数据
delete from employee t1 where (t1.emp_name) in (SELECT t2.emp_name from employee t2 group by emp_name having count (*)>1)
and t1.emp_id not in (select min(t3.emp_id) from employee t3 group by emp_name having count (*)>1);
mysql数据库中查询重复数据
select * from employee group by emp_name having count (*)>1;
查询可以删除的重复数据
select t1.* from employee t1 where (t1.emp_name) in (select t4.emp_name from (select t2.emp_name from employee t2 group by t2.emp_name having count(*)>1) t4) and t1.emp_id not in (select t5.emp_id from (select min(t3.emp_id) as emp_id from employee t3 group by t3.emp_name having count(*)>1) t5);
删除重复的数据
delete t1 from employee t1 where (t1.emp_name) in (select t4.emp_name from (select t2.emp_name from employee t2 group by t2.emp_name having count(*)>1) t4)
and t1.emp_id not in (select t5.emp_id from (select min(t3.emp_id) as emp_id from employee t3 group by t3.emp_name having count(*)>1) t5);