access查询如何避免重复
2022-12-04阅读(474)
问:ACCESS查询中如何追加不重复行?如何删除不重复行?
- 答:实现效果1 ,实质上是将表1中与表2无交集(非交集或称之为差集)的那些记录行予以删除,请运行下列SQL查询语句:
delete from 表1 where not exists (select 1 from 表2 where 表2. 姓名=表1.姓名 and 表2.性别=表1.性别 and 表2.年龄=表1.年龄);
实现效果2,实质是将表2中与表1无交集的那些记录行追加到表1中,请运行下列sql查询语句:
insert into 表1(ID,姓名,性别,年龄) select 表2.ID,表2.姓名,表2.性别,表2.年龄 from 表2 where not exists (select 1 from 表1 where 表1.姓名=表2.姓名 and 表1.性别=表1.性别 and 表1.年龄=表2.年龄);
注意,如果ID字段是自增ID,请删除语句中的ID字段,如果ID字段不是自增id,则还要考虑是否有唯一索引约束。
另外,请注意因为上述两个语句需要实施not exist(非存在)检查,如果需要比对是否有重复的字段尚未设置索引而涉及的记录行又非常多时,那么可能会出现运行效率极差的状况,例如查询语句可能要运行数小时甚至更长时间才能返回结果,在运算得出结果前系统会处在假死状态,因此建议事先为相关的字段设置索好引,以规避遇到大数据表时发生效率悲剧。
题主要求的非代码方案基本没戏
问:access不重复记录查询
- 答:access不重复记录以查询。以下以在学生表中查询在选修表中没有记录即没有选上课的学生为例。
1,打开该数据库,点击创建,查询向导,点击查找不匹配查询向导。
2,选择所有数据都在的那张表。即学生表。下一步
3,点击有些数据不在的那张表,即选修表。下一步
4,点击两张表都含有的字段。下一步
5,点击要显示的字段。
6,点击下一步。
7 ,点击确定,然后就可以看到结果了。 - 答:select * from 表名 where name in (select name from 表名 where name is not null group by name having count(*)=1)~
问:access什么筛选不重复的数据?
- 答:建的表格字段设置多不多?如果仅是一个字段那还好操作,就使用查询功能中的“查找重复项查询向导”进行操作即可。这样可一步一步按向导进行操作,就可将单个字段中的重复数据找出。在向导操作中的“在另外的查询字段”中将其他字段也一并选择,这样就可将重复数据逐条进行查看删除操作了。
当然还有一个办法就是利用SQL语句进行操作,也是针对单字段数据重复的,在查询状态下的设计视图中,将需查找的表的所有字段都进行选择,切记:需将查找重复的字段放在第一列,再点开“SQL视图”在SELECT后输入distinct 然后再点击“数据表视图”进行查看即可。这样所得到的数据就是没有重复的数据了。
希望我的回答对你有帮助,如有疑问可以留言或在线交流。 - 答:select distinct fieldname from tablename