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

 找回密码
 注册
搜索
查看: 1435|回复: 0
打印 上一主题 下一主题

access处理重复记录的方法 [复制链接]

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2009-11-10 10:55:59 |只看该作者 |倒序浏览
在一个表中有重复的记录,重复的次数可能是一条或多条,如何在重复记录中只留下一条,删除其他多余的记录,使数据集的每条记录都是唯一的?
' u1 I  V0 E- x! c( H, m6 \本文运用了一种比较笨拙不过逻辑比较清楚的方法,希望大家能提供更好的方法!1 ~3 w3 Y  K: l! G& @3 \$ ?
1列出表中的重复记录3 J" D& W$ S7 _* F) ^
(sameoda)8 V. U: E( }. e/ l+ _) U# l
SELECT [2].[地级市], Count(*) AS 记录数. B( R6 f6 g1 M
FROM 2
7 M" c: K& g! A8 L' F: I; @GROUP BY [2].[地级市], }$ ?3 W! B0 V& q1 y$ }: j
HAVING count(*)>1. q) b3 g8 z& P7 ?( \* N( a8 C' [
ORDER BY [地级市];5 |7 e& O( e7 I; ]/ q( u3 p' B
地级市记录数100000951094210000095111621000009511272100000951138210000095114921000009511502" I) y5 |7 J& y4 E
2以下是除去相同记录的过程
" P: j3 J. y+ e" k  w- m8 Y1)列出表中的所有重复记录' G$ B% R, A* p7 I. C
(表2中重复记录)8 J, Z; x% ^' |4 C5 w1 L6 k
SELECT 2.*. q+ Q9 {1 b4 {% A! b( s6 ~. N4 }
FROM 2 RIGHT JOIN sameoda ON [2].[地级市]=[sameoda].[地级市];- u8 b6 t- `6 _* I
ID编号地级市保险货物名称数量及包装单位声明价值(元)运输自运输到74691466100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53511077100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53501076100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐74681465100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐53531079100000951127氟他胺片4箱66800天津哈尔滨74711468100000951127氟他胺片4箱66800天津哈尔滨" N9 A  H2 N6 [& T
2)从重复记录中找到唯一的一条记录* _5 j5 _4 m: w
minbihanhao) i/ S" |# w. Y1 A" l
SELECT 2.*
# B2 z% o7 ]( l4 }8 IFROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]3 x+ H( [; c2 c( c8 R( [$ \
WHERE [表2中重复记录].[id] Is Null;. k7 F) r1 f7 X6 ^% y  |% N8 Z
地级市id100000951094535110000095111653501000009511275353100000951138535410000095114953521000009511505355# R  b/ p* T5 A5 E4 A0 }3 X) l* A4 G
3)显示唯一记录的全部信息0 _7 Q+ W2 s) {5 W
allsame1$ Q0 n  Q4 o: @$ @
SELECT 2.*. b1 V" C' Z6 a0 j
FROM 2 LEFT JOIN minbihanhao ON ([2].[地级市]=[minbihanhao].[地级市]) AND ([2].[id]=[minbihanhao].[id])' t; g$ x! A* m. Y# S6 O
WHERE [minbihanhao].[地级市] Is Not Null
8 v6 D! V+ F% kORDER BY [2].[id];) C9 K+ n: u7 l1 Q/ s

: R& ^. u8 T: @# q; ^4)在原表中除去所有相同的记录2 W$ w( o9 R6 g! l  |  x. D
dropsame2
3 ]3 `2 I- ~5 X3 O& T+ K1 BSELECT 2.*
- S2 q: |3 t9 Y" s. pFROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]5 P, T2 C- Y/ R7 f, |
WHERE [表2中重复记录].[id] Is Null;
7 ?* A- u9 r. B, n6 ~5)表2除去重复记录=在原表中除去所有相同的记录+显示唯一记录的全部信息7 M7 R$ B9 m- g+ a# Z" \
表2除去重复记录
% X. l5 s- o& ZSELECT *
9 ^1 O$ M! \% Y3 k* CFROM dropsame2
: T' C3 a5 o& TUNION select * from
8 L4 F% E; M/ b5 `% Z% w4 r3 c7 W$ | allsame1;
您需要登录后才可以回帖 登录 | 注册


Archiver|航空论坛 ( 渝ICP备10008336号 )

GMT+8, 2026-1-13 12:54 , Processed in 0.025001 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部