Mysql删除重复数据 保留一条最新数据

-- 查看重复数据
SELECT `item_id`,COUNT(1) FROM app_wine GROUP BY `item_id` HAVING COUNT(1) > 1
-- 删除重复数据保留一条最新数据
DELETE FROM app_wine WHERE id NOT IN (
    SELECT t.min_id FROM (
        -- 过滤出重复多余的数据,比如,如果所有记录中存在1条记录是user_name=zhangsan的,那么就取出它;
        -- 如果所有记录中存在多条记录是user_name=lisi的,那么只取其中1条,其他的不查询出来
        SELECT MIN(id) AS min_id FROM app_wine GROUP BY detail_url
  ) t
)

 

posted @ 2023-07-07 11:01  WrYcF  阅读(180)  评论(0编辑  收藏  举报
Live2D