mysql 删除重复记录

mysql 删除重复记录

月光魔力鸭

2019-09-29 08:35 阅读 591 喜欢 0 mysql 删除重复记录

这不是之前做了一个磁力小站么.. 发现之前好多记录都是重复的(不要问我怎么发现的),就删除下,感觉不难,但总是写不对.. 这里纯粹记下sql.

查询重复记录

select infohash from demo_magnet group by infohash having count(1) > 1;

删除重复记录(所有)

//请注意:这里是全部删除,不会保留哈,一定要看仔细了... 
delete from demo_magnet where infohash in (
    select infohash from (
        select infohash from demo_magnet group by infohash having count(1) > 1
    ) t
) ;
//注意哈,要带t(作为一个表)

保留一条记录

delete from demo_magnet where infohash in (
    select infohash from (
        select infohash from demo_magnet group by infohash having count(1) > 1
    ) t
) 
and id not in (
    select dt.minid from (
        select min(id) as minid from demo_magnet group by infohash having count(1) > 1
    ) dt
)

这里我的ID 是自增的可以使用这个。如果没有ID可以来判定怎么办?

用 _rowid 和 oracle 的 rowid 类似

delete from demo_magnet where infohash in (
    select infohash from (
        select infohash from demo_magnet group by infohash having count(1) > 1
    ) t
) 
and _rowid not in (
    select dt.minid from (
        select min(_rowid) as minid from demo_magnet group by infohash having count(1) > 1
    ) dt
)

以上。

转载请注明出处: https://chrunlee.cn/article/mysql-delete-repeat-record.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
最近入手了华为鲲鹏服务器... 作为一个菜鸡前端,去部署服务器,亚历山大.. 即便是各种抄抄抄也无济于事.
傅里叶啊傅里叶 要掐死你啦..
业务需求需要一个微信的文章,但是这个文章又不想让所有人知道,只想让参与活动的人看到,那么怎么在不发布微信公众号文章的前提下,拿到文章的永久地址呢?
仅做记录。
如果您由于各种各样的原因,不幸丢失了数据、想恢复数据,您在互联网上搜索解决办法,会发现,DiskGenius这款软件是排名第一的解决方案
新高考改革早已成大趋势,对于广大考生家长和考生来说,赋分一直难以理解,不理解赋分规则,为什么要赋分? 为此,百年育才莱西校区特对赋分进行介绍,供参考
一直在做K12教育方面的产品,不过大都是学校管理层面的,对于教学一直很少触及。当然,这类的产品已经存在不少了,在功能、设计方面我们都会借鉴一些进行改进,其中有一些基础数据,如果也是从头自己收集的话,我想,可能会死的吧...比如:各个学段内的教材和章节信息。
日常使用`sublime text3`的时候,每次一打开都会提示让下载最新版本,可给愁死了。那么如何取消自动更新的提示呢?