码迷,mamicode.com
首页 > 数据库 > 详细

mysql对表中数据根据某一字段去重

时间:2019-07-05 13:03:37      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:mamicode   let   expect   sql   HERE   font   重复记录   一个   删除   

要删除重复的记录,就要先查出重复的记录,这个很容易做到

select * from 表名 group by 根据哪一个字段(简称字段) having count(字段) > 1

注意:这是查出所有重复记录的第一条记录,需要保留,因此需要添加查询条件,查出所有的重复记录

select id,expect from cqssc where expect in (select expect from cqssc group by expect having count(expect)>1) 

and id not in(select min(id) from cqssc group by expect having count(expect)>1)

技术图片

 

然后

delete from cqssc where id in (select id from (select id from cqssc where expect in 

(select expect from cqssc group by expect having count(expect)>1) and id not in

(select min(id) from cqssc group by expect having count(expect)>1)) as tmpresult)

技术图片

删除成功,最后再查询一下看是否还有重复记录

技术图片

 

mysql对表中数据根据某一字段去重

标签:mamicode   let   expect   sql   HERE   font   重复记录   一个   删除   

原文地址:https://www.cnblogs.com/wxy0126/p/11137529.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!