这篇文章主要介绍了mysql查找删除重复数据并只保留一条实例详解的相关资料,需要的朋友可以参考下

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

school_idschool_nametotal_studenttest_takers1239Abraham Lincoln High School55501240Abraham Lincoln High School70351241Acalanes High School120891242Academy Of The Canyons30301243Agoura High School89401244Agoura High School10050

我们可以看出,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查找删除重复数据并只保留一条实例详解,希望能帮助到大家,谢谢大家对本站的支持!

    无相关信息
最新资讯
滴滴旗下公司经营范围变更,新增“房地产租赁经营”

滴滴旗下公司经营范围

奇心(上海)信息技术有限公司发生经营范围变更,新增“物业
电商激战社区,拿下最后一个万亿市场

电商激战社区,拿下最后

在 2019 年创投圈为数不多的热点里,“买菜”这件事吸引
我国成功发射第四十六颗北斗导航卫星

我国成功发射第四十六

2019年6月25日02时09分,我国在西昌卫星发射中心用长征
中国移动高层:到2020年底部分5G手机价或降至1000元

中国移动高层:到2020年

到2020年底,手机5G终端会向中低价位下探,部分5G手机的价
直击|周鸿祎剑指“网络战”:转变思维 勿各自为战

直击|周鸿祎剑指“网

360董事长兼CEO周鸿祎在互联网安全大会等多个场合强调
美国参众两院计划就Libra举行听证会 FB高管出席作证

美国参众两院计划就Li

世界各地的官员对Facebook的加密货币计划反应不一,该计
最新文章
PHP数字金额转换成中文大写显示

PHP数字金额转换成中

今天小编就为大家分享一篇关于PHP数字金额转换成中文
PHP array_shift()用法实例分析

PHP array_shift()用

这篇文章主要介绍了PHP array_shift()用法,结合实例形
laravel 框架配置404等异常页面

laravel 框架配置404

这篇文章主要介绍了laravel 框架配置404等异常页面,小
PHP如何通过表单直接提交大文件详解

PHP如何通过表单直接

这篇文章主要给大家介绍了关于PHP如何通过表单直接提
PHP微信支付结果通知与回调策略分析

PHP微信支付结果通知

这篇文章主要介绍了PHP微信支付结果通知与回调策略,结
php如何利用pecl安装mongodb扩展详解

php如何利用pecl安装m

这篇文章主要给大家介绍了关于php如何利用pecl安装mon