线上测试过的数据如下:
1、第一步:查看有多少重复的数据
select pack_id,order_number,pay_status,pack_status,claim,COUNT(*) from snake_pack_2020 where is_del=0 AND pay_status=0 AND `create_time` > 1617120000 group by order_number,account_id having count(*) > 1
2、第二步:删除数据,将 snake_pack_2020 表换成你自己的表,pack_id 主键id换成你自己的id就可以了,order_number 重复的字段。where 后面的条件根据自己的条件修改
delete from snake_pack_2020 where pack_id in (select t.pack_id from (select pack_id from snake_pack_2020 where is_del=0 AND pay_status=0 AND `create_time` > 1617120000 group by order_number having count(*) > 1 ORDER BY pack_id DESC limit 10) as t);
3、第三步:msyql如果执行时间限制就自己在controller中写方法