mysql 查找出重复数据 然后把删除重复的数据 保留最新的一条

mysql 查找出重复数据 然后把删除重复的数据 保留最新的一条,第1张

delete from `mygame_article` where title in (select title from `mygame_article` group by id having count(title) >1) and id not in (select max(id) from `mygame_article` group by title having count(title) >1)

随手写了个,前半句是选择title重复的数据,后半句是剔除id最大的,delete是删除的意思。。应该 思路是没问题的,这边不方便帮您测试

如果想准确控制最多不会超过10条,应该只能用触发器如果定时清理,假设是按照主键排序,并且主键是自增先查出最新第10个主键ID,然后再删除主键小于"第10个主键ID"的所有记录DELETE tb FROM tb_name AS tb ,(SELECT pk_id FROM tb_name ORDER BY pk_id desc LIMIT 9,1) AS tmpWHERE tb.pk_id<tmp.pk_id


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7257785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存