如何将access数据表中的重复记录项自动删除

如何将access数据表中的重复记录项自动删除,第1张

access目前不具备自动删除重复项的功能,但可以轻易的找到重复项:

如果量不大,可以按照如上的办法把重复项找到,在逐一删除。

如果重复项非常多,可以先按照如上的办法找到重复项,然后建立一个删除查询,筛选条件是包含在刚才查询结果的项目,就完成了您所说的工作了。

这个估计不适合你啊

先是,access这东西效率本来就不高

对于你来说

第一步

select

a

into

tmp

from

ceshi

a,

(select

min(id)

minid,wenben

from

ceshi

group

by

wenben)

b

where

aid=bminid

and

awenben=bwenben

第二步

delete

from

ceshi

第三步

insert

into

ceshi

select

from

tmp

第四步

drop

table

tmp

我把你发的第一和第二步合并成我这里的第一步了,并加了一个最后第四步,把临时表删除

你先做好备份再测试,否则数据没法恢复

你给的信息不够详细,可以用group by 后面的所有字段不包括rowid

select min(rowid),后面的所有字段 from table

group by 后面的所有字段

把这些数据复制到另一个表,将原表数据删除,再将这些数据COPY回

即然不想有重复项就建个主键不就行了

或者加个自动编号列id,然后

comexecute

"delete

from

msg

where

id

not

in(select

min(id)as

id

from

msg

group

by

tit)"

在大的数据库应用中,经常因为各种原因遇到重复的记录,造成数据的冗余和维护上的不便。

1用rowid方法

2用group by方法

3用distinct方法

1。用rowid方法

据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:

查数据:

select from table1 a where rowid !=(select max(rowid)

from table1 b where aname1=bname1 and aname2=bname2)

删数据:

delete from table1 a where rowid !=(select max(rowid)

from table1 b where aname1=bname1 and aname2=bname2)

2group by方法

查数据:

select count(num), max(name) from student --列出重复的记录数,并列出他的name属性

group by num

having count(num) >1 --按num分组后找出表中num列重复,即出现次数大于一次

删数据:

delete from student

group by num

having count(num) >1

这样的话就把所有重复的都删除了。

3用distinct方法 -对于小的表比较有用

create table table_new as select distinct from table1 minux

truncate table table1;

insert into table1 select from table_new;

select sum(bag_weight),sum(bag_total) from tdespatch

以上就是关于如何将access数据表中的重复记录项自动删除全部的内容,包括:如何将access数据表中的重复记录项自动删除、access数据库如何删除文本字段中重复的文本行、如何删除ACCESS 重复数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9872863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存