Mysql删除重复数据通用SQL的两种方法
作者:每天进步亿点点的小码农
本文主要介绍了Mysql删除重复数据通用SQL的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
在日常开发过程中,可能会出现一些 bug,导致 Mysql 数据库数据重复,需要删除重复数据,这里记录下删除重复数据的通用 SQL ,方便以后需要时查阅
1、写法一
DELETE t1 FROM tbl_name t1 INNER JOIN tbl_name t2 WHERE t1.id < t2.id AND t1.column_1 = t2.column_1 AND t1.column_2 = t2.column_2;
2、写法二
DELETE FROM tbl_name WHERE EXISTS ( SELECT * FROM ( SELECT max(id) AS id, column_1, column_2 FROM tbl_name GROUP BY column_1, column_2 HAVING count(1) > 1 ) t WHERE tbl_name.column_1 = t.column_1 AND tbl_name.column_2 = t.column_2 AND tbl_name.id < t.id )
重复数据中,保留 id 最大的,其余都删除,SQL 中 tbl_name 表示需要删除重复数据的表名,column_1 和 column_2 是用来分组确认重复数据的字段。
到此这篇关于Mysql删除重复数据通用SQL的两种方法的文章就介绍到这了,更多相关Mysql删除重复SQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!