mysql删除重复记录语句的方法

2019-01-03 14:38:29于丽

SQL>delete from employee e2 where rowid not in (
select max(e1.rowid) from employee e1 where
e1.emp_id=e2.emp_id and e1.emp_name=e2.emp_name and e1.salary=e2.salary);--这里用min(rowid)也可以。
SQL>delete from employee e2 where rowid <(
select max(e1.rowid) from employee e1 where
e1.emp_id=e2.emp_id and e1.emp_name=e2.emp_name and
e1.salary=e2.salary);
(3)也是通过rowid,但效率更高。
SQL>delete from employee where rowid not in (
select max(t1.rowid) from employee t1 group by
t1.emp_id,t1.emp_name,t1.salary);--这里用min(rowid)也可以。
EMP_ID EMP_NAME SALARY
---------- ---------------------------------------- ----------
1 sunshine 10000
3 xyz 30000
2 semon 20000

您可能感兴趣的文章:

MySQL 查询某个字段不重复的所有记录MySQL大表中重复字段的高效率查询方法MySQL中distinct语句去查询重复记录及相关的性能讨论mysql 查询重复的数据的SQL优化方案mysql查询表里的重复数据方法Mysql一些复杂的sql语句(查询与删除重复的行)mysql 数据表中查找重复记录MySql避免重复插入记录的几种方法MySQL 删除数据库中重复数据方法小结MySQL中查询、删除重复记录的方法大全