mysql 删除重复记录

mysql 删除重复记录

月光魔力鸭

2019-09-29 08:35 阅读 685 喜欢 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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
新高考改革早已成大趋势,对于广大考生家长和考生来说,赋分一直难以理解,不理解赋分规则,为什么要赋分? 为此,百年育才莱西校区特对赋分进行介绍,供参考
微信dat是用什么软件打开?微信dat是什么?如何查看呢? 微信的dat文件是微信用于缓存PC端微信的图片,然后对图片进行了加密的处理。所以是可以删除的,有些朋友data文件夹下有十几G的,都是可以删除的,但是最好确保这些文件都已经没有用处了再进行删除。 下面给大家介绍一个能够在线解码微信dat的网站。
本来这是一个很小的事,按照邮箱设置来一下就OK了.. 可是我密码忘记了,死活重置不了,没办法,微信扫码吧,然后按照设置来又是不行,找了下度娘才行.. 我就纳闷了,这么大一企业,不能用点心么.. 还有昨天那个互联,愁死!
前段时间弄了下微信的dat图片的解码,后续有同学问数据库的解码怎么弄.. 当然,后边陆陆续续的看了下,加上住院乱七八糟的事情,一直没处理,最近几天处理了下,发现微信数据库的数据格式是真的麻烦...
日常使用`sublime text3`的时候,每次一打开都会提示让下载最新版本,可给愁死了。那么如何取消自动更新的提示呢?
今天用github登录自己网站的时候,竟然意外的失败了,查了下日志,发现报错:Request forbidden by administrative rules 。
Access denied for user 'root'@'localhost' (using password: YES) 碰到一个错误,不知道怎么动了权限导致外网,本地都登录不进去了。