当前位置: 首页 > 图文教程 > 数据库 > Access > access处理重复记录的方法

Access
如何给ODBC连接打开连接池
Access数据库与SQLserver2000的数据互导
如何在退出整个系统前提示用户
通过查询返回数据库对象的名称
Delphi中的Access技巧集
ACCESS中如何插入超级链接?
怎样用代码隐藏、最大化、最小化ACCESS的主窗口
操作系统环境 Environ 函数
ACCESS2000升迁向导“溢出”错误处理方法
如何在ACCESS中压缩当前数据库
在VB中用代码打印ACCESS报表
以指定工作组文件启动MDB文件
长期使用中型Access数据库的一点经验
显示数据库窗口的捷径
取得磁碟机之Volumn及Serial Number
ACCESS默认保存路径的修改方法
数据库设计范式
Access无需DSN文件快速连接SQL Server方法
用Access 2000进行班级管理
启动命令行选项

Access 中的 access处理重复记录的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 39 ::
收藏到网摘: n/a

在一个表中有重复的记录,重复的次数可能是一条或多条,如何在重复记录中只留下一条,删除其他多余的记录,使数据集的每条记录都是唯一的?本文运用了一种比较笨拙不过逻辑比较清楚的方法,希望大家能提供更好的方法!

1列出表中的重复记录

(sameoda)

SELECT [2].[地级市], Count(*) AS 记录数FROM 2GROUP BY [2].[地级市]HAVING count(*)>1ORDER BY [地级市];

地级市记录数100000951094210000095111621000009511272100000951138210000095114921000009511502

2以下是除去相同记录的过程

1)列出表中的所有重复记录

(表2中重复记录)

SELECT 2.*FROM 2 RIGHT JOIN sameoda ON [2].[地级市]=[sameoda].[地级市];

ID编号地级市保险货物名称数量及包装单位声明价值(元)运输自运输到74691466100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53511077100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53501076100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐74681465100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐53531079100000951127氟他胺片4箱66800天津哈尔滨74711468100000951127氟他胺片4箱66800天津哈尔滨

2)从重复记录中找到唯一的一条记录

minbihanhao

SELECT 2.*FROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]WHERE [表2中重复记录].[id] Is Null;

地级市id100000951094535110000095111653501000009511275353100000951138535410000095114953521000009511505355

3)显示唯一记录的全部信息

allsame1

SELECT 2.*FROM 2 LEFT JOIN minbihanhao ON ([2].[地级市]=[minbihanhao].[地级市]) AND ([2].[id]=[minbihanhao].[id])WHERE [minbihanhao].[地级市] Is Not NullORDER BY [2].[id];

4)在原表中除去所有相同的记录

dropsame2

SELECT 2.*FROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]WHERE [表2中重复记录].[id] Is Null;

5)表2除去重复记录=在原表中除去所有相同的记录+显示唯一记录的全部信息

表2除去重复记录

SELECT *FROM dropsame2 UNION select * fromallsame1;