实现方式如下:
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
将这些重复值成功标注后,您可以对数据进行其他处理,如筛选。具体 *** 作步骤:点击开始菜单-排序和筛选-筛选-按颜色排序-后单独显示重复数据。您也可以根据个人需要,删除或者继续其他编辑。
方法如下:select * from 你的表名
a where id=(select min(id) from 你的表名 whereitem_id=a.item_id)
在查询之前先把数据库表中的第一行复制到sid里在去,然后让sid和下面的每一行进行比较
取所有相同的行的最小的一下,也可以取最大的,结果是一样的。
这样让所有的行都比较不就得到不重复的数据了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)