当前位置:操作系统 > Unix/Linux >>

删除重复记录的问题

这个问题本来很简单,但经常见有人问。采用过时的删除方法可能非常的慢,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表吧 :)本文来自:http://doc.xiaoyaxiao.com/4168.html
发表您的高见!
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,