资讯中心

mysql删除重复项

📅 2026/9/30 5:15:43
mysql删除重复项
目录1.背景2.解决方法方案一使用JOIN删除高效方案方案二使用子查询性能更优兼容大多数MySQL版本1.背景mysql5.7.41-log单表中数据量很多约25.6万条id是雪花算法生成其中smiles字段内容存在重复现象要求smiles相同的行只保留第一条即id最小的那一条保留删除其他smiles重复项。2.解决方法根据smiles分组过滤出重复项安装重复数倒序排列SELECT smiles, count(1) as cnt from patent_data WHERE del_flag0 GROUP BY smiles HAVING cnt1 ORDER BY cnt desc方案一使用JOIN删除高效方案执行去重sql语句只保留重复项里面id最小的一项DELETE p1 FROM patent_data p1 INNER JOIN patent_data p2 ON p1.smiles p2.smiles AND p1.id p2.id;方案二使用子查询性能更优兼容大多数MySQL版本执行子查询删除重复项sql语句DELETE FROM patent_data WHERE id NOT IN ( SELECT t.min_id FROM ( SELECT MIN(id) AS min_id FROM patent_data GROUP BY smiles ) t );

看完文章,想为自己的企业也做一次专业网站诊断?

尧图顾问免费为您评估现有网站,并给出建站/改版建议与报价方案。

免费获取方案