对重复数据的处理:
表结构(id,组织机构代码, 企业名称, 企业地址) id不是int型
(一)、除主键外所有重复:
1.查询没有重复数据,重复的数据只留一条,
select distinct 组织机构代码, 企业名称, 企业地址 from table
2.删除重复数据,重复的数据只留一条
思路:
》把所有的数据查到临时表
select * into #tmp from table
》给临时表添加一个int型的唯一键
alter table #tmp add zid int identity(1,1)
》对数据分组,如果是重复数据,那么每一组取一个最大的zid,得到的zid的集合就是没有重复记录的数据集合
select distinct MAX(zid) as zid into #tmp2 from #tmp
group by [组织机构代码]
,[企业名称]
,[企业地址]
》根据zid的集合得到没有重复数据的集合
select id,[组织机构代码]
,[企业名称]
,[企业地址]
into #tmp3 from #tmp
where zid in (select zid from #tmp2)
》根据#tmp3进行删除