日期:2014-05-16  浏览次数:20420 次

关于删除完全重复的记录

在数据库里面,如果对于完全删除重复的记录,个人觉得用distinct和临时表技术比较给力,而且性较高。

如果用ROW_NUMBER()函数,不仅思路非常麻烦,而且性能差。

?

但是在只有部分重复的数据表情况下,想要保留最新的那条数据,可以用ROW_NUMBER()函数,取最大的rowId。

?

关键语句如下:注意到ROW_NUMBER()一般结合over使用的。

?

select *,ROW_NUMBER()over(order by id) as rowno from newTbl
?

从上面的SQL语句可以拿出rowid。

?

说下思路:

好像挺麻烦的,分组取最小的rowid????