需求:数据库中存在名称重复的数据,删除重复的只保留一条。
方法1:使用distinct
DELETE FROM company_info WHERE id not in (select a.id from (SELECT *, count(DISTINCT company_name) FROM `company_info` GROUP BY company_name) a );
方法2: 使用row_number over
DELETE FROM company_info WHERE id in (
SELECT id from (
SELECT *, row_number() over (partition by company_name) as rn from company_info) a
where a.rn > 1)

本文介绍两种从数据库中删除重复记录的方法:使用distinct关键字和row_number()窗口函数。通过这两种方法可以有效地保留唯一记录并删除多余的重复项。
1023

被折叠的 条评论
为什么被折叠?



