使用Mysql查询重复的数据,并且删除重复的数据只保留一条

要查询并删除 MySQL 数据库中 数据表(TABLE)表中 字段(title) 重复的记录,可以使用以下 SQL 查询和删除语句:

查询重复的Mysql语句

SELECT title, COUNT(*) FROM TABLE GROUP BY title HAVING COUNT(*) > 1;

可以查看一下示例图片:

查询重复数据示意图

删除重复的标题数据,保留最新一条记录Mysql语句

DELETE t1 FROM TABLE t1
JOIN (
    SELECT title, MAX(id) AS max_id FROM TABLE GROUP BY title HAVING COUNT(*) > 1
) t2 ON t1.title = t2.title AND t1.id < t2.max_id;

以上代码是保留最新的数据,如果需要保留最老的数据,换成 MIN 就可以。文章来源地址https://www.toymoban.com/diary/sql/186.html

到此这篇关于使用Mysql查询重复的数据,并且删除重复的数据只保留一条的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/diary/sql/186.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用
上一篇 2023年08月19日 16:45
下一篇 2023年08月19日 16:45

相关文章

  • MySQL怎样删除重复数据,只保留一条?

    在实际工作开发过程中,常常会遇到数据库表中存在多条数据重复了,此时我们需要删除重复数据,只保留其中一条有效的数据; 针对这种场景,我们用SQL语句该怎么实现呢? 数据准备 建表语句: 查看重复数据,并筛选 使用having语句进行筛选 对于重复数据,保留一条数据

    2024年02月10日
    浏览(39)
  • Mysql 删除重复数据保留一条有效数据

    ============================== ©Copyright 蕃薯耀 2023-01-31 蕃薯耀的博客_CSDN博客-蕃薯耀分享,java,js领域博主 原理: 根据字段对数据进行分组,查询出所有分组的最小ID(即要保留的不重复数据) 将查询出来的数据(所有不重复的数据)存放到临时表中 从原来的表中删除ID不在临时表

    2024年02月16日
    浏览(48)
  • mysql表中删除重复记录,只保留一条记录的操作

    mysql表中两个字段重复记录,只保留一条记录的操作 例如有一张学生表 其中name 和 class 相同的视为重复记录,需要保留一条记录,删除重复记录, 两种操作方式如下: 方法一: group by 查询结果如下: 此操作找出了需要保留的记录,即按name、class进行分组,取出id最小的记录

    2024年02月09日
    浏览(51)
  • SQL Server删除重复数据只保留一条

    介绍 最近在导入数据库数据, 有时候给的数据源文件,存在重复数据, 需要清除但是还需要保留一条记录的需求. 本文将介绍如何使用SQL Server来实现这个需求。 流程 下面是实现删除重复数据的流程,我们可以用表格展示每个步骤: 步骤    描述 步骤一    先看看有哪些重复

    2024年02月01日
    浏览(37)
  • mysql中去除重复数据,只保留一条。

                    梳理一下关于删除重复记录的逻辑 目录 前期准备:建表插入数据 1、通过group by 和count(1)1找出有重复的数据  2、通过每个分组中的最小id来去重         2.1、添加主键id列         2.2 去重                 2.2.1、首先找出每个分组中count

    2024年02月08日
    浏览(105)
  • SqlServer中根据某几列获取重复的数据将其删除并保留最新一条

    有时候,我们某个数据表中,可能有几列的数据都是一样的,此时我们可能想查询出这几列数据相同的所有数据行,并保留最新一条,将其他重复的数据删除。 假设我们有如下数据表: 此时我们可以使用 ROW_NUMBER 函数,根据某几列查询出重复数据的新的排序列,该排序列就

    2024年04月28日
    浏览(36)
  • SQL语句删除重复记录且只保留一条有效记录

    1. 查找表中多余的重复记录,重复记录是根据单个字段(name)来判断 2. 删除表中多余的重复记录,重复记录是根据单个字段(id)来判断,只留有id最小的记录 3. 删除表中多余的重复记录(多个字段),只留有id最小的记录 参考:https://blog.csdn.net/JineD/article/details/126875291

    2024年02月13日
    浏览(55)
  • SQL删除重复的记录(只保留一条)-窗口函数row_number()

    关于删除mysql表中重复数据问题,本文中给到两种办法:聚合函数、窗口函数row_number()的方法。 (注意:MySQL从8.0开始支持窗口函数) 测试数据准备:首先创建一个测试表test,插入一些测试数据,模拟一些重复数据(最终目标:删除重复数据,但不处理null行) 先查询下重复数

    2024年02月05日
    浏览(46)
  • 解决MySQL中分页查询时多页有重复数据,实际只有一条数据的问题

    有一个离奇的BUG,在查询时,第一页跟第二页有一个共同的数据。有的数据却不显示。 后来发现是在SQL排序时没用主键排序。 解决:使用主键排序 以下是我准备的举例,可以自己试试。 分页查询公式:分页查询–他的公式为(伪代码): [NOT] LIMIT (curPage-1)*pageSize,pageSize 执行

    2024年02月16日
    浏览(37)
  • MySQL 联表查询重复数据并删除(子查询删除记录) SQL优化

    数据库表介绍: table_a :主表(小表,表数据不可重复) table_b :流水表(大表,记录审核流水数据) 注:两表表结构大致一致,流水表增加一个审核状态的字段 业务逻辑: 主表保存唯一数据,流水表记录审核流水数据,用于后续展示,并在审核成功后插入主表,在插入流

    2023年04月08日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包