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

获取最新数据就会显示。如下参考:

1.打开电脑,打开mysql数据库,点击数据库,在右上角输入查询,点击新查询下面的zd查询。如图。

2.然后可以通过gmt_create从crew_1中输入SELECT*,表中的所有记录都将按时间排序,如图所示

3.如果需要获得按时间排序的表中的第一条记录,请输入SELECT*fromcrew_1orderbygmt_createdesclimit0,1,如图所示。

4.如果您需要获得第五个记录,请输入SELECT*fromcrew_1orderbygmt_createdesclimit4,1,如下所示。

5.如果需要获取1001记录,只需将limit4,1更改为limit1000,1。如果需要获取n条记录,在查询语句中添加limitn-1,1,如图所示。

6.如果需要获取表中的前n条记录,则更改为限制n,如图所示。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存