在 MS Access 中查找和删除重复值
Posted
技术标签:
【中文标题】在 MS Access 中查找和删除重复值【英文标题】:Finding and Removing Duplicate Values in MS Access 【发布时间】:2015-12-18 15:18:11 【问题描述】:我在 Access 中有三列:
ZeroCurveID MarkRunID MarkAsOfDate
90-6589 6656 2/28/2012
90-6589 6656 2/28/2012
90-6589 6656 2/28/2012
14-8898 8898 8/12/2014
14-8898 8898 8/12/2014
14-8898 8898 8/12/2014
14-8898 8898 8/12/2014
14-8898 8898 8/12/2014
14-8898 8896* 8/12/2014
14-8898 8898 8/12/2014
14-8898 8898 8/12/2014
14-8898 8898 8/12/2014
14-8898 8898 8/12/2014
数据集有几千条记录。
每个ZeroCurveID
都应该有一个对应的MarkRunID
和一个MarkAsofDate
。
同一个 ZeroCurveID 应该只有一个对应的 MarkRunID 和 MarkAsofDate。
但是,在整个集合中,有一些情况下,对于相同的 MarkasOfDate 和 ZeroCurveID,会有两个不同的 MarkRunID,例如上面示例中的 8896
和 8898
(显示在星号处)。我需要确定这些重复出现的位置。
如何在代码中识别这些实例?我可以写什么查询来完成这个?
【问题讨论】:
【参考方案1】:编写一个按您复制的字段分组的查询分组,并添加一个按主键计数的 COUNT() 列,无论是什么。然后按 COUNT() 列以降序对结果进行排序,以查看计数 > 1 的位置。这些是你的重复。
【讨论】:
好的,我有它按 dbo_ZeroCurves.ZeroCurveID、dbo_MarkRuns.MarkRunID、dbo_MarkRuns.MarkAsOfDate 分组。如何添加一列以按主键计数?【参考方案2】:运行查找重复向导。
https://www.youtube.com/watch?v=OzB-EUvNwCE
让您的 Select Query 工作,然后将其更改为 Delete Query,然后运行它。
https://www.youtube.com/watch?v=amRbEhQWH78
【讨论】:
以上是关于在 MS Access 中查找和删除重复值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MS Access 2003 中删除具有唯一 ID 的重复条目?