这篇文章主要介绍了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查找删除重复数据并只保留一条实例详解,希望能帮助到大家,谢谢大家对本站的支持!

    无相关信息
最新资讯
直击|淘票票启动“用户和市场扩增计划” 至少投10亿

直击|淘票票启动“用

阿里影业旗下淘票票宣布启动“用户和市场扩增计划”,将
网易有道周枫:教育领域,AI应该是配角

网易有道周枫:教育领域

10月13日,由芥末堆主办的GET2018教育科技大会在北京开
直击|英特尔宣布“AI未来先锋计划” 涉产学研四方面

直击|英特尔宣布“AI

英特尔今日在华宣布 “AI未来先锋计划”,涉及前沿研究
报告:2018年上半年美国数字广告营收高达495亿美元

报告:2018年上半年美国

根据美国互动广告局(IAB)发布的最新报告显示,美国的在线
20多城业务关闭、数据被打脸:人人车烧钱模式难再续

20多城业务关闭、数据

目前二手车电商普遍亏损严重。前不久,一张题为《人人车
英国隐私保护组织投诉甲骨文等企业违反欧盟GDPR政策

英国隐私保护组织投诉

英国非营利隐私保护组织Privacy International(PI)上周
最新文章
php实现微信企业付款到个人零钱功能

php实现微信企业付款

这篇文章主要为大家详细介绍了php实现微信企业付款到
PHP实现微信对账单处理

PHP实现微信对账单处

这篇文章主要为大家详细介绍了PHP实现微信对账单处理,
php提取微信账单的有效信息

php提取微信账单的有

这篇文章主要为大家详细介绍了php提取微信账单的有效
php-fpm.conf配置文件中文说明详解及重要参数说明

php-fpm.conf配置文件

本文主要介绍了php-fpm.conf配置文件的中文说明详解以
PHP实现微信退款功能

PHP实现微信退款功能

这篇文章主要为大家详细介绍了PHP实现微信退款功能,具
PHP实现微信申请退款功能

PHP实现微信申请退款

这篇文章主要为大家详细介绍了PHP实现微信申请退款功