SqlServer 2000 去除完全重复的记录 无主键约束

如果你的情况也是,没有主键约束,导致出现了很多完全一致的记录,这时候如何去重复就比较麻烦了,因为是sqlserver 2000 还没有支持rowid这种东西,坑。

不过,我这里有个法子,挺好用的。


首先给你需要去重的表添加一列,设置为主键 + 自增标识   (我这里取名 tempID)


然后通过sql去掉重复记录:

delete from  表名 where 字段1(判定是否重复的段) in (select  字段1 from 表名  group by 字段1 having count(*) > 1) and tempID(字段2,这里是我们新加的字段)

not in (select min(tempID) from mem_localmemberbaseinfo  group by 字段1 having count(*)>1)            

原理: 不删除根据字段1分组排序出来的tempID最小的那一行

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值