Mysql删除重复数据通用SQL的两种方法

 更新时间:2023年08月02日 15:19:46   作者:每天进步亿点点的小码农  
本文主要介绍了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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL存储引擎InnoDB与Myisam的区别分析

    MySQL存储引擎InnoDB与Myisam的区别分析

    INNODB会支持一些关系数据库的高级功能,如事务功能和行级锁,MYISAM不支持。MYISAM的性能更优,占用的存储空间少。所以,选择何种存储引擎,视具体应用而定。
    2022-12-12
  • Mysql 取字段值逗号第一个数据的查询语句

    Mysql 取字段值逗号第一个数据的查询语句

    Mysql 取字段值逗号第一个数据,在某些情况下还是比较实用的,主要使用到了left函数及其他等等,感兴趣的朋友可以参考下
    2013-10-10
  • mysql 5.7.14 免安装版注意事项(精)

    mysql 5.7.14 免安装版注意事项(精)

    这篇文章主要介绍了mysql 5.7.14 免安装版注意事项的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • MySQL 在创建和删除用户时出现的ERROR 1396 (HY000)错误问题解决

    MySQL 在创建和删除用户时出现的ERROR 1396 (HY000)错误问题解决

    MySQL作为流行的数据库系统,涉及用户管理时可能遇到ERROR1396错误,该错误发生在尝试创建已存在的用户或删除不存在的用户时,解决方法包括检查用户存在性或选择不同用户名,此外,MySQL提供了创建和授权用户的便捷工具,注意使用FLUSH PRIVILEGES命令使授权生效
    2024-09-09
  • MySQL并行DDL的实现方法

    MySQL并行DDL的实现方法

    本文详细介绍了MySQL8.0.27并行DDL的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • Navicat for MySQL(mysql图形化管理工具)是什么?

    Navicat for MySQL(mysql图形化管理工具)是什么?

    这里就给大家介绍一个常用的MySQL数据库管理工具:Navicat for MySQL,需要的朋友可以参考下
    2015-09-09
  • MySQL 8.0统计信息不准确的原因

    MySQL 8.0统计信息不准确的原因

    这篇文章主要介绍了MySQL 8.0统计信息不准确的原因,帮助大家更好的理解和学习MySQL8.0的相关内容,感兴趣的朋友可以了解下
    2020-08-08
  • MySQL数据库分组查询group by语句详解

    MySQL数据库分组查询group by语句详解

    这篇文章主要介绍了MySQL数据库分组查询group by语句详解,文中含有详细示例代码说明解析,有需要的朋友可以借鉴参考想=下,希望能够有所帮助
    2021-09-09
  • MySQL三表联合查询操作举例

    MySQL三表联合查询操作举例

    在mysql查询语句中,为了实现查询到某些信息,我们会用到多表的联合查询,下面这篇文章主要给大家介绍了关于MySQL三表联合查询操作的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • 基于MySql验证的vsftpd虚拟用户

    基于MySql验证的vsftpd虚拟用户

    这篇文章主要介绍了基于MySql验证的vsftpd虚拟用户,文章包括mysql安装及ftp服务器安装过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11

最新评论