Mysql 从数据库表中删除重复记录的最佳方法是什么?
我在数据库中有一个不包含任何键的表,现在我想从完全重复的表中删除该行 那么,消除重复记录的最佳方法是什么Mysql 从数据库表中删除重复记录的最佳方法是什么?,mysql,database,postgresql,duplicates,Mysql,Database,Postgresql,Duplicates,我在数据库中有一个不包含任何键的表,现在我想从完全重复的表中删除该行 那么,消除重复记录的最佳方法是什么 用户ROW\u NUMBER()函数具有分区依据 使用TEMP表-创建新TEMP表,并使用适当的唯一索引。将不同的行复制到其中截断旧表,重新插入数据并删除TEMP表 使用递归CTE 还有其他最好的选择吗,请提一下。期待回复。根据您的要求,您也使用了类似的查询 pool.query("DELETE FROM public.table1 x USING public.table1 y
ROW\u NUMBER()
函数具有分区依据
TEMP
表-创建新TEMP
表,并使用适当的唯一索引。将不同的行复制到其中<代码>截断
旧表,重新插入数据并删除
TEMP
表
还有其他最好的选择吗,请提一下。期待回复。根据您的要求,您也使用了类似的查询
pool.query("DELETE FROM public.table1 x USING public.table1 y WHERE x.id < y.id AND x.column_name = y.column_name", (err,result) => {
if(err) { console.log("Recode not delete...."+err); }
if(result){ console.log('Duplicate recode deleted..'); }
}); /* old all same recode deleted */
pool.query(“使用public.table1 y从public.table1 x删除,其中x.id{
if(err){console.log(“重新编码不删除…”+err);}
如果(结果){console.log('replicate recode deleted..);}
}); /* 删除旧的所有相同的重新编码*/
根据需求变化情况。请用您正在使用的数据库标记您的问题:oracle、mysql、postgresql…?这是任何数据库的一般问题,如果它依赖于数据库,请描述postgresql和mysql。消除重复记录的最佳方法是什么?使用适当的唯一索引创建新表。将不同的行复制到其中。删除旧表并重命名新表。对于较大的数据集,可以更快地创建新表,只保留要保留的行。然后放下那张旧桌子。然后重命名新表,并对其进行适当的索引。你们的意思是说第二个选项。