SqlServer 2000 去除完全重复的记录 无主键约束
2016-12-12 17:12
232 查看
如果你的情况也是,没有主键约束,导致出现了很多完全一致的记录,这时候如何去重复就比较麻烦了,因为是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最小的那一行
不过,我这里有个法子,挺好用的。
首先给你需要去重的表添加一列,设置为主键 + 自增标识 (我这里取名 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最小的那一行
相关文章推荐
- SQLSERVER 怎样去除重复记录
- sqlserver去除重复记录
- SqlServer去除重复的数据记录
- 去除sql server中重复的数据--完全相同的记录方法
- SQL Server 2000 删除完全重复的多余记录
- Sqlserver 2000 数据库表中删除重复记录(仅保留一条)
- SQLSERVER 怎样去除重复记录
- SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。
- mysql给列的属性赋值,修改列属性,删除记录,删除所有记录,查询表的记录,去除重复的,总和查询,条件查询,模糊查询,关联查询,范围查询
- SQL查询重复记录,去除重复记录
- 去除数据库重复的保留一条记录,其他不改变
- mysql语法里面的去除重复记录
- mysql查询时去除重复数据以及 FOUND_ROWS 统计记录函数
- oracle数据库中由于没有做任何约束,如何删掉表中重复的记录 推荐
- sqlserver通过ignore_dup_key索引去除重复数据
- 去除重复Sql数据取得单条记录数据的方法
- 记录:mysql中的case when|on duplicate key update|重复插入返回主键的用法
- SQL去除重复记录
- sqlserver清除完全重复的数据只保留重复数据中的第一条