首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

数据库反复数据处理

2013-04-09 
数据库重复数据处理select?*?from?peoplewhere?peopleId?in?(select??peopleId??from??people??group??by?

数据库重复数据处理
select?*?from?people
数据库反复数据处理where?peopleId?in?(select??peopleId??from??people??group??by??peopleId??having??count(peopleId)?>?1)

?例二:?select?*?from?testtable?where?numeber in (select?number?from?people?group by?number?having count(number) > 1 )?可以查出testtable表中number相同的记录
数据库反复数据处理
数据库反复数据处理2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
数据库反复数据处理delete?from?people?
数据库反复数据处理where?peopleId??in?(select??peopleId??from?people??group??by??peopleId???having??count(peopleId)?>?1)
数据库反复数据处理and?rowid?not?in?(select?min(rowid)?from??people??group?by?peopleId??having?count(peopleId?)>1)
数据库反复数据处理
数据库反复数据处理3、查找表中多余的重复记录(多个字段)?
数据库反复数据处理select?*?from?vitae?a
数据库反复数据处理where?(a.peopleId,a.seq)?in??(select?peopleId,seq?from?vitae?group?by?peopleId,seq??having?count(*)?>?1)
数据库反复数据处理
数据库反复数据处理4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
数据库反复数据处理delete?from?vitae?a
数据库反复数据处理where?(a.peopleId,a.seq)?in??(select?peopleId,seq?from?vitae?group?by?peopleId,seq?having?count(*)?>?1)
数据库反复数据处理and?rowid?not?in?(select?min(rowid)?from?vitae?group?by?peopleId,seq?having?count(*)>1)
数据库反复数据处理
数据库反复数据处理
数据库反复数据处理5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
数据库反复数据处理select?*?from?vitae?a
数据库反复数据处理where?(a.peopleId,a.seq)?in??(select?peopleId,seq?from?vitae?group?by?peopleId,seq?having?count(*)?>?1)
数据库反复数据处理and?rowid?not?in?(select?min(rowid)?from?vitae?group?by?peopleId,seq?having?count(*)>1)
数据库反复数据处理
数据库反复数据处理(二)
数据库反复数据处理比方说
数据库反复数据处理在A表中存在一个字段“name”,
数据库反复数据处理而且不同记录之间的“name”值有可能会相同,
数据库反复数据处理现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项;
数据库反复数据处理Select?Name,Count(*)?From?A?Group?By?Name?Having?Count(*)?>?1
数据库反复数据处理
数据库反复数据处理如果还查性别也相同大则如下:
数据库反复数据处理Select?Name,sex,Count(*)?From?A?Group?By?Name,sex?Having?Count(*)?>?1
数据库反复数据处理
数据库反复数据处理
数据库反复数据处理(三)
数据库反复数据处理方法一
数据库反复数据处理
数据库反复数据处理declare?@max?integer,@id?integer
数据库反复数据处理
数据库反复数据处理declare?cur_rows?cursor?local?for?select?主字段,count(*)?from?表名?group?by?主字段?having?count(*)?>;?1
数据库反复数据处理
数据库反复数据处理open?cur_rows
数据库反复数据处理
数据库反复数据处理fetch?cur_rows?into?@id,@max
数据库反复数据处理
数据库反复数据处理while?@@fetch_status=0
数据库反复数据处理
数据库反复数据处理begin
数据库反复数据处理
数据库反复数据处理select?@max?=?@max?-1
数据库反复数据处理
数据库反复数据处理set?rowcount?@max
数据库反复数据处理
数据库反复数据处理delete?from?表名?where?主字段?=?@id
数据库反复数据处理
数据库反复数据处理fetch?cur_rows?into?@id,@max
数据库反复数据处理
数据库反复数据处理end
数据库反复数据处理
数据库反复数据处理close?cur_rows
数据库反复数据处理
数据库反复数据处理set?rowcount?0
数据库反复数据处理
数据库反复数据处理方法二
数据库反复数据处理
数据库反复数据处理  有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。
数据库反复数据处理
数据库反复数据处理1、对于第一种重复,比较容易解决,使用
数据库反复数据处理
数据库反复数据处理select?distinct?*?from?tableName
数据库反复数据处理
数据库反复数据处理就可以得到无重复记录的结果集。
数据库反复数据处理
数据库反复数据处理如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除
数据库反复数据处理
数据库反复数据处理select?distinct?*?into?#Tmp?from?tableName
数据库反复数据处理
数据库反复数据处理drop?table?tableName
数据库反复数据处理
数据库反复数据处理select?*?into?tableName?from?#Tmp
数据库反复数据处理
数据库反复数据处理drop?table?#Tmp
数据库反复数据处理
数据库反复数据处理发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。
数据库反复数据处理
数据库反复数据处理2、这类重复问题通常要求保留重复记录中的第一条记录,操作方法如下
数据库反复数据处理
数据库反复数据处理假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集
数据库反复数据处理
数据库反复数据处理select?identity(int,1,1)?as?autoID,?*?into?#Tmp?from?tableName
数据库反复数据处理
数据库反复数据处理select?min(autoID)?as?autoID?into?#Tmp2?from?#Tmp?group?by?Name,autoID
数据库反复数据处理
数据库反复数据处理select?*?from?#Tmp?where?autoID?in(select?autoID?from?#tmp2)
数据库反复数据处理
数据库反复数据处理最后一个select即得到了Name,Address不重复的结果集(但多了一个autoID字段,实际写时可以写在select子句中省去此列)
数据库反复数据处理
数据库反复数据处理(四)
数据库反复数据处理查询重复
数据库反复数据处理
数据库反复数据处理select?*?from?tablename?where?id?in?(
数据库反复数据处理
数据库反复数据处理select?id?from?tablename?
数据库反复数据处理
数据库反复数据处理group?by?id?
数据库反复数据处理
数据库反复数据处理having?count(id)?>?1
数据库反复数据处理
数据库反复数据处理)

热点排行