MySQL查找数据中相同的数据,并进行删除

 

查找表中多余的重复记录,重复记录是根据某个字段来判断

select * from 表名  where 字段 in (select   字段 from  表名 group by  字段 having count(字段) > 1)

 

 

删除表中多余的重复记录,重复记录是根据某字段来判断,根据ID保留最小的记录 (这个要用postgresq数据库才能用l)

delete from 表名  where 字段 in (select 字段 from 表名 group by 字段   having count(字段) > 1) and ID not in (select min(ID) from   表名 group by 字段 having count(字段)>1)

 

 

mysql用这个

delete from 表名 where   字段 in (select 字段 from ( select 字段 from 表名 group by 字段 having count(字段)>1) a)  and id not in (select ID from (select min(id)as ID from 表名 group by 字段 having count(字段)>1 ) b)

 

posted @   yvioo  阅读(578)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示