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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2009-11-10 10:55:59 |只看该作者 |倒序浏览
在一个表中有重复的记录,重复的次数可能是一条或多条,如何在重复记录中只留下一条,删除其他多余的记录,使数据集的每条记录都是唯一的?8 u9 A; P) t2 W
本文运用了一种比较笨拙不过逻辑比较清楚的方法,希望大家能提供更好的方法!
5 L( R% u- D% C; e! }. i  [1列出表中的重复记录
! S3 K  L$ Y3 |" f3 S: I! s0 ~# ~  L(sameoda)
& A2 z! f1 T" p8 l- _+ W. `; FSELECT [2].[地级市], Count(*) AS 记录数
0 _3 Q9 t" A# `; [2 D  w& F0 S6 tFROM 2
: B* F: a9 @5 PGROUP BY [2].[地级市]
( H1 d. G$ Z. A! L' x4 U7 ~HAVING count(*)>11 `1 Y* B' _0 h) h
ORDER BY [地级市];
# @, }8 \: n' ]2 i* U* m0 s% g' k地级市记录数100000951094210000095111621000009511272100000951138210000095114921000009511502+ D, n% U0 t  K5 B) r5 r
2以下是除去相同记录的过程
  v6 n% K! @" z- Q6 f$ Y# D5 A1)列出表中的所有重复记录
+ r# a' a' c( p4 M5 T" G(表2中重复记录); _* B9 u0 N4 J7 i. i. N7 n8 `2 v
SELECT 2.*
3 m) j- o  z7 l& G6 ?  f- oFROM 2 RIGHT JOIN sameoda ON [2].[地级市]=[sameoda].[地级市];
( ~) G) q- I: v1 {) tID编号地级市保险货物名称数量及包装单位声明价值(元)运输自运输到74691466100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53511077100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53501076100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐74681465100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐53531079100000951127氟他胺片4箱66800天津哈尔滨74711468100000951127氟他胺片4箱66800天津哈尔滨6 z$ d* f5 l2 T+ ~
2)从重复记录中找到唯一的一条记录
1 q( h0 }6 G. b, j& M1 c/ pminbihanhao
. P' ^1 [% r9 h7 @' q0 ^- A* S+ \SELECT 2.*8 J( Z  X, p. _; f
FROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]
$ [1 j5 o- k- r/ l1 {( c, u; xWHERE [表2中重复记录].[id] Is Null;; k* |3 ]5 i0 X, R
地级市id100000951094535110000095111653501000009511275353100000951138535410000095114953521000009511505355; L0 A7 i- `1 W' F, J$ G& D5 }) H
3)显示唯一记录的全部信息
4 J1 `9 K0 W4 L0 H: v' D& Yallsame1
' Z  ~" X+ V4 z" t5 y" l+ ^) tSELECT 2.*
& e7 |% ]* n& J" Q/ Q: wFROM 2 LEFT JOIN minbihanhao ON ([2].[地级市]=[minbihanhao].[地级市]) AND ([2].[id]=[minbihanhao].[id])
: D( g4 P* A6 T6 Z$ \5 v2 `WHERE [minbihanhao].[地级市] Is Not Null
- w4 ^0 d- j" g# N" ~ORDER BY [2].[id];2 K6 ]" r; l$ Z! F# x& H! B

/ a2 e6 b8 y* f3 P) f4)在原表中除去所有相同的记录
! ]9 X& }7 q4 p& O7 U0 Bdropsame28 F/ l2 P- }+ v) _# n, Y0 ?* {
SELECT 2.*
' d7 L  s+ a& |& [! y$ Q8 ZFROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]
6 |5 {- F( p' T5 B0 A" o8 iWHERE [表2中重复记录].[id] Is Null;) O* z; d8 A; X7 Y1 Y: g
5)表2除去重复记录=在原表中除去所有相同的记录+显示唯一记录的全部信息/ o" a/ A( ]# P, W7 V, g
表2除去重复记录
8 L5 @4 f# l( ?" XSELECT *& u- A& F" x$ Q% Z
FROM dropsame2
2 c' h4 f+ f' VUNION select * from
! u- U. X. K- g" d allsame1;
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-6-17 05:41 , Processed in 0.024001 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部