mysql查找删除重复数据并只保留一条实例详解

 更新时间:2016年09月24日 08:33:28   投稿:lqh  
这篇文章主要介绍了mysql查找删除重复数据并只保留一条实例详解的相关资料,需要的朋友可以参考下

有这样一张表,表数据及结果如下:

school_id school_name total_student test_takers
1239 Abraham Lincoln High School 55 50
1240 Abraham Lincoln High School 70 35
1241 Acalanes High School 120 89
1242 Academy Of The Canyons 30 30
1243 Agoura High School 89 40
1244 Agoura High School 100 50

我们可以看出,school_name的字段值有重复数据(Abraham Lincoln High School 和Agoura High School分别出现两次),那么如何删除这两条数据,从而只让这两个数值出现一次呢? 具体实现方法如下:

1、删除重复记录,保存Id最小的一条

delete FROM `test` WHERE `school_name` in (SELECT `school_name`
FROM `test` 
GROUP BY `school_name` 
HAVING COUNT( * ) >1) and school_id not in (select min(school_id) from test group by school_id having count(* )>1)

先使用GROUP BY having语法查询出重复的数据,然后删除重复数据并保留school_id最小的一条.

2、删除重复记录,保存Id最大的一条

delete FROM `test` WHERE `school_name` in (SELECT `school_name`
FROM `test` 
GROUP BY `school_name` 
HAVING COUNT( * ) >1) and school_id not in (select max(school_id) from test group by school_id having count(* )>1)

原理和上面一样。

以上就是mysql查找删除重复数据并只保留一条实例详解,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • CI框架实现框架前后端分离的方法详解

    CI框架实现框架前后端分离的方法详解

    这篇文章主要介绍了CI框架实现框架前后端分离的方法,结合实例形式较为详细的分析了CI框架前后端分离的相关视图、控制器设置与扩展等操作技巧,需要的朋友可以参考下
    2016-12-12
  • Yii框架数据库查询、增加、删除操作示例

    Yii框架数据库查询、增加、删除操作示例

    这篇文章主要介绍了Yii框架数据库查询、增加、删除操作,结合实例形式总结分析了Yii框架数据库查询、增加、删除相关模型与控制器使用技巧,需要的朋友可以参考下
    2019-10-10
  • ThinkPHP之用户注册登录留言完整实例

    ThinkPHP之用户注册登录留言完整实例

    这篇文章主要介绍了ThinkPHP之用户注册登录留言完整实例,有助于详细了解ThinkPHP的运作流程,需要的朋友可以参考下
    2014-07-07
  • 基于Zend的Config机制的应用分析

    基于Zend的Config机制的应用分析

    本篇文章介绍了,基于Zend的Config机制的应用分析。需要的朋友参考下
    2013-05-05
  • Laravel学习教程之从入口到输出过程详解

    Laravel学习教程之从入口到输出过程详解

    这篇文章主要给大家介绍了关于Laravel学习教程之从入口到输出过程的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-08-08
  • tp5框架的增删改查操作示例

    tp5框架的增删改查操作示例

    这篇文章主要介绍了tp5框架的增删改查操作,结合实例形式分析了thinkPHP5框架数据库连接及增删改查相关操作的控制器与视图使用技巧,需要的朋友可以参考下
    2019-10-10
  • ThinkPHP中order()使用方法详解

    ThinkPHP中order()使用方法详解

    本文介绍ThinkPHP的order()方法的用法。order方法可以用于对数据库操作的结果进行排序。即相当于是在select语句中一个order by的子句
    2016-04-04
  • Thinkphp 中 distinct 的用法解析

    Thinkphp 中 distinct 的用法解析

    TP中distinct()的用处主要是去除重复的值,下面我通过实例代码给大家介绍下Thinkphp 中 distinct 的用法,一起看看吧
    2016-12-12
  • php实现头像上传预览功能

    php实现头像上传预览功能

    这篇文章主要为大家详细介绍了php实现头像上传预览功能的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • PHP实现赛邮SUBMAIL简单易用短信通知实例

    PHP实现赛邮SUBMAIL简单易用短信通知实例

    这篇文章主要介绍了使用PHP实现赛邮SUBMAIL的简单易用短信通知实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10

最新评论