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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2009-11-10 10:55:59 |只看该作者 |倒序浏览
在一个表中有重复的记录,重复的次数可能是一条或多条,如何在重复记录中只留下一条,删除其他多余的记录,使数据集的每条记录都是唯一的?
" `$ n8 ]) Q0 C' L本文运用了一种比较笨拙不过逻辑比较清楚的方法,希望大家能提供更好的方法!( {9 g$ I$ [5 f' R) y
1列出表中的重复记录
8 s; u. c6 A7 \(sameoda)3 q, A. a- I/ z" c1 U& e
SELECT [2].[地级市], Count(*) AS 记录数
: \0 H4 M, i  x  h7 t% Z) \9 SFROM 2
9 r( \5 u0 y5 F, F/ I0 H4 w9 yGROUP BY [2].[地级市]. F# }# Y2 V5 R. d6 R
HAVING count(*)>1
7 r: W0 c" s& D& f# V1 K. ZORDER BY [地级市];; I1 X6 |) {: C1 R; H% u
地级市记录数100000951094210000095111621000009511272100000951138210000095114921000009511502
. q( A& t8 [# y8 t; a) a7 O2以下是除去相同记录的过程
. R* _& q' k2 ^$ G% ?0 N1 i1)列出表中的所有重复记录+ K5 C8 e  ]; R* W0 ~, ^  T
(表2中重复记录)! _5 Y' y  _' v6 N5 h
SELECT 2.*
& k" @+ [( b5 x+ KFROM 2 RIGHT JOIN sameoda ON [2].[地级市]=[sameoda].[地级市];
! A/ t1 s) f$ s) Z* YID编号地级市保险货物名称数量及包装单位声明价值(元)运输自运输到74691466100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53511077100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53501076100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐74681465100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐53531079100000951127氟他胺片4箱66800天津哈尔滨74711468100000951127氟他胺片4箱66800天津哈尔滨
9 t! D! c5 P  \, u2)从重复记录中找到唯一的一条记录
2 Q! Y9 B0 n! d6 sminbihanhao
; L* B" c- j  N/ r, r* j/ RSELECT 2.*
  N9 P& R& X4 a! t  y/ jFROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]
# R9 F7 ?+ F3 BWHERE [表2中重复记录].[id] Is Null;. u9 b5 E1 B; s! S( ~# B% X+ Z+ c- v
地级市id1000009510945351100000951116535010000095112753531000009511385354100000951149535210000095115053558 j& R; U* l" `2 W/ Z! f  O
3)显示唯一记录的全部信息
; ?2 A6 j! v& jallsame1  V6 O1 ^8 M3 K. p' ]7 L9 |4 g$ A6 d
SELECT 2.*
3 \# s: A+ a5 s* E& [9 t" oFROM 2 LEFT JOIN minbihanhao ON ([2].[地级市]=[minbihanhao].[地级市]) AND ([2].[id]=[minbihanhao].[id]), p# P5 b: @* {$ P
WHERE [minbihanhao].[地级市] Is Not Null! ~! k% Q1 ^5 O5 v% W6 Q
ORDER BY [2].[id];
; V, ^6 N- e1 \- p( x: J  n' K7 O( y& I" M6 B1 F& P
4)在原表中除去所有相同的记录* M. K; O1 T' f* |  e5 _# M
dropsame2* F( m: ]7 H) U' C  H, C
SELECT 2.*
5 l# c/ `1 _* R- S9 l( s  Z, E; x  MFROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]
3 r' b5 |3 ^6 m7 l2 oWHERE [表2中重复记录].[id] Is Null;* o3 L& ?9 ^+ _' U7 S
5)表2除去重复记录=在原表中除去所有相同的记录+显示唯一记录的全部信息3 x* J8 T/ r, c( u5 K+ ~. }
表2除去重复记录
& K8 x: m8 g& QSELECT *2 F* ?" D# J+ N7 }5 w  U
FROM dropsame2 : B5 q3 C' r4 p$ a. I8 y. D
UNION select * from
6 w* A) `9 N* E/ U- |/ D3 m7 H allsame1;
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-11-27 06:42 , Processed in 0.023001 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部