数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
access处理重复记录的方法

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

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

1列出表中的重复记录

(sameoda)

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

地级市记录数
1000009510942
1000009511162
1000009511272
1000009511382
1000009511492
1000009511502

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;

地级市id
1000009510945351
1000009511165350
1000009511275353
1000009511385354
1000009511495352
1000009511505355

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

allsame1

SELECT 2.*
FROM 2 LEFT JOIN minbihanhao ON ([2].[地级市]=[minbihanhao].[地级市]) AND ([2].[id]=[minbihanhao].[id])
WHERE [minbihanhao].[地级市] Is Not Null
ORDER 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 * from
 allsame1;





相关文章

相关软件