专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Asp教程 » sql删除重复记录:有关重复记录的删除(SQL SERVER) »正文

sql删除重复记录:有关重复记录的删除(SQL SERVER)

来源: 发布时间:星期四, 2009年2月12日 浏览:195次 评论:0


以下就重复记录删除问题作阐述

有两个意义上重复记录是完全重复记录也即所有字段均重复记录 2是部分关键字段重复记录比如Name字段重复而其他字段不定重复或都重复可以忽略
1、对于第种重复比较容易解决使用
    select distinct * from tableName
就可以得到无重复记录结果集
如果该表需要删除重复记录(重复记录保留1条)可以按以下思路方法删除
    select distinct * o #Tmp from tableName
    drop table tableName
    select * o tableName from #Tmp
    drop table #Tmp
发生这种重复原因是表设计不周产生增加唯索引列即可解决

2、这类重复问题通常要求保留重复记录中条记录操作思路方法如下
    假设有重复字段为Name,Address要求得到这两个字段唯结果集
    select identity(,1,1) as autoID, * o #Tmp from tableName
    select min(autoID) as autoID o #Tmp2 from #Tmp group by Name,autoID
    select * from #Tmp where autoID in(select autoID from #tmp2)
    最后个select即得到了NameAddress不重复结果集(但多了个autoID字段实际写时可以写在select子句中省去此列)
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: