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

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

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

在一个表中有重复的记录,重复的次数可能是一条或多条,如何在重复记录中只留下一条,删除其他多余的记录,使数据集的每条记录都是唯一的?: b, X/ Q( @# J0 T/ b, s* B
本文运用了一种比较笨拙不过逻辑比较清楚的方法,希望大家能提供更好的方法!8 q, m0 O6 }- @6 w6 D6 Z5 g
1列出表中的重复记录
0 K) D6 K' E/ g" Y4 D(sameoda)) r1 K3 ~0 p+ o4 w1 r
SELECT [2].[地级市], Count(*) AS 记录数1 Z3 Z: ^' {( C1 t
FROM 2
9 \" Y' I, a. ?; M: BGROUP BY [2].[地级市]
/ T$ {% K* a* H' pHAVING count(*)>1
) \' G! w  U) B! y# Y8 k! xORDER BY [地级市];
$ L% ~5 n* N2 m' C+ o- |地级市记录数100000951094210000095111621000009511272100000951138210000095114921000009511502
; z! M) t& k7 U) j3 t2以下是除去相同记录的过程& Z! \' ?' l! w
1)列出表中的所有重复记录
# L5 {: A; K9 ^1 [) B+ ^! q(表2中重复记录)3 u- c2 u) v: x1 G( w  B
SELECT 2.*- \1 w% z# X6 ?' l
FROM 2 RIGHT JOIN sameoda ON [2].[地级市]=[sameoda].[地级市];
% M5 [" l- T) Y( XID编号地级市保险货物名称数量及包装单位声明价值(元)运输自运输到74691466100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53511077100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53501076100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐74681465100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐53531079100000951127氟他胺片4箱66800天津哈尔滨74711468100000951127氟他胺片4箱66800天津哈尔滨
5 I( b2 `5 E4 N: K" m2)从重复记录中找到唯一的一条记录
& |$ u$ D- D& h( Ominbihanhao9 d, g& h/ y) O$ `; {; r; [) J  C6 J
SELECT 2.*3 k* c* D8 R1 ~) u4 O* d
FROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]% j/ T' \. z( P1 S  L/ V" L
WHERE [表2中重复记录].[id] Is Null;/ z5 e: H4 T1 x' k$ D' S% b+ q
地级市id100000951094535110000095111653501000009511275353100000951138535410000095114953521000009511505355( w8 G- i' o+ B3 P; C6 b
3)显示唯一记录的全部信息
+ p2 c9 h- C! }- f( R9 tallsame1
' K+ z0 a* C& P' V, X. dSELECT 2.*
% B* f7 I# {/ k6 VFROM 2 LEFT JOIN minbihanhao ON ([2].[地级市]=[minbihanhao].[地级市]) AND ([2].[id]=[minbihanhao].[id])3 M, u1 {7 I+ B3 N: `% B
WHERE [minbihanhao].[地级市] Is Not Null! z# `' T5 [- g0 ?& w3 W
ORDER BY [2].[id];. T9 C1 T4 l/ ]- [9 B

, i5 |2 w! p6 w: m& r4)在原表中除去所有相同的记录
0 a* c' G/ I: Rdropsame24 ?5 n% C2 L5 x$ y
SELECT 2.*! Q2 h9 {  w! s+ t
FROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]
. J9 s/ w4 e. T( P4 L7 wWHERE [表2中重复记录].[id] Is Null;8 `8 j/ Z( [' h& i" v. v# A0 y. G7 _
5)表2除去重复记录=在原表中除去所有相同的记录+显示唯一记录的全部信息& a2 ?- V, P6 Y) j2 u' H+ }8 U7 @2 p
表2除去重复记录1 D9 u# i. T: j" t/ Z& J
SELECT *
5 ^7 `* G- b4 O( C2 A( yFROM dropsame2
7 V6 o6 X/ L$ W- E8 FUNION select * from
( p. P/ v: w3 j allsame1;




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