如何查找数据库中的重复数据?

如何查找数据库中的重复数据?,第1张

实现方式如下:

  Dim cnn As Object, rs As Object, SQL$, i&, s$

    Set cnn = CreateObject("ADODB.Connection")

    cnn.Open "Provider=Microsoft.Jet.Oledb.4.0data Source=" & ThisWorkbook.Path & "\排课数据.mdb"

    SQL = "Select 星期&节&班级,count(星期&节&班级) from 排课 where 星期 is not null group by 星期&节&班级 having count(星期&节&班级)>1"

    Set rs = CreateObject("ADODB.Recordset")

    rs.Open SQL, cnn, 1, 3

    If rs.RecordCount Then

        For i = 1 To rs.RecordCount

            s = s & vbCrLf & "星期" & rs.Fields(0) & "班,重复次数:" & rs.Fields(1)

            rs.MoveNext

        Next

        MsgBox "有" & rs.RecordCount & "条记录重复:" & s

    Else

        MsgBox "没有发现重复记录"

    End If

    rs.Close

    cnn.Close

    Set rs = Nothing

    Set cnn = Nothing

End Sub

1。删除全部重复记录(慎用) 

Delete表Where重复字段In(Select重复字段From表GroupBy重复字段HavingCount(*)>1)

2。保留一条(这个应该是大多数人所需要的^_^)

DeleteHZTWhereIDNotIn(SelectMax(ID)FromHZTGroupByTitle)

注:此处保留ID最大一条记录

3、查找表中多余的重复记录(多个字段) 

select*fromvitaea

where(a.peopleId,a.seq)in(selectpeopleId,seqfromvitaegroupbypeopleId,seqhavingcount(*)>1)

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录

deletefromvitaea

where(a.peopleId,a.seq)in(selectpeopleId,seqfromvitaegroupbypeopleId,seqhavingcount(*)>1)

androwidnotin(selectmin(rowid)fromvitaegroupbypeopleId,seqhavingcount(*)>1)

方法/步骤

打开需要编辑的Excel表格。观察表格发现有部分数据相同,需要将这些重复的数据用醒目的颜色标注出。首先,选中需要查找重复值的一列或某个区域。具体 *** 作,如图所示。

鼠标单击开始菜单,依次选择样式-条件格式-突出显示单元格规则-重复值。

Ps:这些步骤适应于microsoft07版本。03版本的童鞋可以查看我的另一篇经验贴“怎么在Excel2003版中查找重复值”。

d出重复值对话框,为包含以下类型的单元格设置格式。默认的选择是重复值设置为浅红填充色深红色文本。点击确定。

点击确定。观察Excel表格,是不是发现Excel表格中的那些重复值已经被标红显示了呢。显示效果如图所示。

5

将这些重复值成功标注后,您可以对数据进行其他处理,如筛选。具体 *** 作步骤:点击开始菜单-排序和筛选-筛选-按颜色排序-后单独显示重复数据。您也可以根据个人需要,删除或者继续其他编辑。

一般来讲查询数据中有重复的记录,首先要确定"重复"的定义,例如单字段重复、多字段组合重复等,然后再根据"重复"的定义进行分组计数,组计数大于1的即为有重复的记录。

下面举个例子供参考:

有雇员表(工号,姓名,身份z号码

其中字段"身份z号码"因未设置唯一索引,存在重复的情况,现要求检索出身份z有重复的员工资料,SQL实现语句如下

select a.* from 雇员 a,

(select 身份z号码 from 雇员 group by 身份z号码 having count(*)>1) b 

where a.身份z号码=b.身份z号码


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9256519.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存