航空论坛_航空翻译_民航英语翻译_飞行翻译

标题: access处理重复记录的方法 [打印本页]

作者: 帅哥    时间: 2009-11-10 10:55:59     标题: access处理重复记录的方法

在一个表中有重复的记录,重复的次数可能是一条或多条,如何在重复记录中只留下一条,删除其他多余的记录,使数据集的每条记录都是唯一的?( N9 n! h+ Z5 c
本文运用了一种比较笨拙不过逻辑比较清楚的方法,希望大家能提供更好的方法!3 [/ c, Z* z4 t% N; o
1列出表中的重复记录
* M1 N* [) j+ H' [7 W4 v(sameoda)
2 Z; O- M; \, F; I9 n$ \SELECT [2].[地级市], Count(*) AS 记录数* a! J0 J$ A' h; L: m
FROM 2
8 S9 N+ J: Z8 s. d: jGROUP BY [2].[地级市]
0 O# M! B6 r6 p" D) T6 b- b/ [/ NHAVING count(*)>1# o' Y: i3 U4 m& |% `  a
ORDER BY [地级市];
5 b2 `; v* ^* L( m9 s& r$ ^地级市记录数100000951094210000095111621000009511272100000951138210000095114921000009511502
% C; L& N' Z2 K, w2以下是除去相同记录的过程( E/ m% g. x* u! V: v
1)列出表中的所有重复记录0 e$ C! J! R. f6 ?4 I0 D7 b
(表2中重复记录)7 g6 q7 s- h2 d
SELECT 2.*
6 e* \3 s* {1 \* n7 W" nFROM 2 RIGHT JOIN sameoda ON [2].[地级市]=[sameoda].[地级市];
+ u1 C. q. v( hID编号地级市保险货物名称数量及包装单位声明价值(元)运输自运输到74691466100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53511077100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53501076100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐74681465100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐53531079100000951127氟他胺片4箱66800天津哈尔滨74711468100000951127氟他胺片4箱66800天津哈尔滨
' ?" M! B9 s$ g8 u& L* d2)从重复记录中找到唯一的一条记录
- D( @1 j3 f4 K5 Z) _* O$ Z- E( h7 f" eminbihanhao$ Y' Y! f( \. N9 R) s9 a+ o
SELECT 2.*8 I# E# h" E  J0 J/ l7 ?2 G
FROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]2 N, Y3 u+ ?+ G& A( n
WHERE [表2中重复记录].[id] Is Null;) k, @. q# A, W3 s5 }( m* }( k# E+ i
地级市id1000009510945351100000951116535010000095112753531000009511385354100000951149535210000095115053554 y$ A: |/ c  [* R+ I' \
3)显示唯一记录的全部信息
4 N6 P$ b3 K5 `0 C: h& Yallsame19 N  p' D/ P  J, y( t$ O
SELECT 2.*
) C/ G" R8 k; M7 i1 qFROM 2 LEFT JOIN minbihanhao ON ([2].[地级市]=[minbihanhao].[地级市]) AND ([2].[id]=[minbihanhao].[id])
4 w* v& E+ d5 o6 D( ]) ~) f/ |4 UWHERE [minbihanhao].[地级市] Is Not Null2 m6 M: Q1 ]2 [
ORDER BY [2].[id];
8 R" Y/ \, F2 O- ?  v0 K7 t) d6 d2 v. S$ }7 d2 {$ A
4)在原表中除去所有相同的记录
: g1 x$ T1 f' d$ Wdropsame25 K2 S/ a# ]& \9 w0 c: x
SELECT 2.*# F6 f1 I( |" `: R+ c& a9 |
FROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]
7 W" B+ p- B- G- ^" _* `WHERE [表2中重复记录].[id] Is Null;; p0 i. A, {1 }9 n  ]  g; r' G8 Q' e
5)表2除去重复记录=在原表中除去所有相同的记录+显示唯一记录的全部信息8 {+ a- d9 N1 r1 Y: n* \
表2除去重复记录4 ?; m/ k: d* ?" Z1 Z) D$ ~
SELECT *
  L% t% V1 I( x$ L$ M$ RFROM dropsame2
. `; C, W+ [# SUNION select * from! C7 |6 D! v( y* t
allsame1;




欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/) Powered by Discuz! X2