删除重复记录的问题

王朝other·作者佚名  2008-05-18
宽屏版  字体: |||超大  

这个问题本来很简单,但经常见有人问。采用过时的删除方法可能非常的慢,816以后版本可以采用新方法了。

useraccount表,主键为userid,有一个字段为手机号码mobilephone

如果重复的记录的比例不是很大

delete useraccount where rowid in (

select rid from

(select rowid rid,row_number() over(partition by mobilephone order by userid desc) rn from useraccount )

where rn 1) ;

我是经常用这样的方法删除数据的,上百万记录删除几万条速度还是比较快的。当然如果大量都是重复的,还是干脆做temp表吧 :)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有