本例测试环境是EXCEL中用VBA连接ACCESS数据库

有如下一张表,要分别查找出所有同名的人、所有同名并且学号也一样的人以及所有同名但不同学号的人。

查询所有同名人员

select * from [18年考试成绩] where [姓名] in (SELECT [姓名] FROM [18年考试成绩] group by [姓名] having count(姓名)>1)

查询结果:

查找所有姓名和学号两个字段都重复的人

select * from [18年考试成绩] where [姓名] in (SELECT [姓名] FROM [18年考试成绩] group by [姓名] having count(姓名)>1) and [学号] in (SELECT [学号] FROM [18年考试成绩] group by [学号] having count(学号)>1)

查询结果:

查找所有姓名重复但学号不重复的人

select * from [18年考试成绩] where [姓名] in (SELECT [姓名] FROM [18年考试成绩] group by [姓名] having count(姓名)>1) and [学号] not in (SELECT [学号] FROM [18年考试成绩] group by [学号] having count(学号)>1)

注意:要把SELECT查询子句配合in或not in 操作符使用,SELECT查询子句只能有一列内容。

查询结果:

其中子句 “SELECT [姓名] FROM [18年考试成绩] group by [姓名] having count(姓名)>1”是显示所有重复的姓名,如果如下:

如果要知道重复出现次数,则可以这样写:

SELECT [姓名],count(姓名) as 出现次数 FROM [18年考试成绩] group by [姓名] having count(姓名)>1

结果如下:

查找唯一记录

group by [姓名],意思是按姓名分组,having count(姓名)>1 是分组条件,意思是姓名次数出现2次以上的重复内容以姓名进行分组,前面的count(姓名)是对分组以后的姓名统计出现次数。在后面要使用函数条件时应该使用having,而不是使用where

查找唯一值,比如本例的班级中,只有一个“四班”,要把这个四班的所有字段显示出来可以这样:

select * from [18年考试成绩] where 班级 not in (SELECT 班级 FROM [18年考试成绩] group by 班级 having count(班级)>1)

结果:

如果使用“SELECT DISTINCT 班级 FROM [18年考试成绩]”语句查询唯一值,结果将会如下:

DISTINCT 会显示不重复的值,如果有重复的,只显示第一个,所以如果需要显示仅出现一次的值并不适合使用SELECT DISTINCT语句

分组查询语句:

比如要班级为单位,查询每个班的总人数,科目总分,科目平均分等

SELECT [班级],count(姓名) as 班级人数,sum(语文) as 语文总成绩,sum(数学) as 数学总成绩,ROUND(avg(语文),1) as 语文平均分,ROUND(avg(数学),1) as 数学平均分 FROM [18年考试成绩] group by [班级]

查询结果如下:

注意:如果使用函数的字段,不使用AS指定别名,将会自动生成一个字段名,第一列名字Expr1000,第二列名为Expr1001,第三列名为Expr1002,以此类推

如:

SELECT [班级],count(姓名),sum(语文),sum(数学),ROUND(avg(语文),1) ,ROUND(avg(数学),1) FROM [18年考试成绩] group by [班级]

查询结果如下:

如果不指定别名,你将无法清楚在查询结果中知道每一列是干什么的。

如果需要再细分,查询每个班女生总人数和科目平均分,只需要再加一个where条件就可以了

SELECT [班级],count(姓名) as 班级女性人数,ROUND(avg(语文),1) as 语文平均分,ROUND(avg(数学),1) as 数学平均分 FROM [18年考试成绩] where 性别='女' group by [班级]

access重复数据累计_ACCESS数据库-sql语句查找重复记录、唯一记录和分组统计方法...相关推荐

  1. mysql 导入数据库sql语句_mysql中导入数据与导出数据库sql语句

    本文章来详细介绍关于mysql中导入数据与导出数据库sql语句,在mysql中常用的导入与导出数据的命令有source与mysqldump大家可参考. 1.例1:连接到本机上的MYSQL 首先在打开D ...

  2. access重复数据累计_Access 查询同一张表中两个或以上字段含有重复项的记录

    这篇文章是对我自己另一篇文章的补充.( Access 查询同一张表中某个字段含有重复项的记录) 记录的动力总是来自于工作中遇到的问题.上次只要根据某个字段把有重复项的记录列出来,这次条件增多了,要根据 ...

  3. mysql重复记录大于十的数据库_MySQL专题10之MySQL序列使用、MySQL处理重复数据、MySQL以及SQL的注入...

    1.MySQL序列使用 -  MySQL序列是一组整数:1,2,3...,由于一张数据表只能有一个字段自增主键,如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现. -  使用AUTO ...

  4. MySQL删除s表命令_SQLServer数据库sql语句中----删除表数据drop、truncate和delete的用法...

    本文主要向大家介绍了SQLServer数据库sql语句中----删除表数据drop.truncate和delete的用法,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 虽 ...

  5. 利用sql语句删除重复数据

    记录原因: 昨天遇到一个问题:需要写一个sql语句删除重复数据.当时解决的办法,是先查询出重复的数据id,然后再单独写删除语句进行删除.今天想了想应该还是有其他办法解决的,研究了下可以通过一条语句就能 ...

  6. SQl语句查询重复数据 只显示其中一条

    SQL查询重复数据,只显示其中一条 有重复数据主要有以下几种情况: 1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 example: select distinc ...

  7. 从痴迷数据库SQL语句逐渐走进面向对象化(系统的核心以处理对象为主、淡化数据库概念)...

    几年前写信息管理系统都要设计很多很多表,每个表都是自己建立的,然后喜欢用高   性能.高超的SQL语句搞定很多复杂的商业逻辑问题,那SQL语句又长又复杂,一般人   还读不懂,但是代码很少.性能很高, ...

  8. 建立学生选课表 mysql 语句_学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)...

    学生选课数据库SQL语句45道练习题: 一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四 ...

  9. 计算机导论sql试题,数据库SQL语句练习题

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

最新文章

  1. 计算机网络是啥意思啊,no signal是什么意思啊
  2. python随机生成中文字符串_用Python生成随机UTF-8字符串
  3. Python实训day07pm【Selenium操作网页、爬取数据-下载歌曲】
  4. 按插入顺序排序的map
  5. 机器学习实践二 -多分类和神经网络
  6. matlab如何把实验结果记录在文件中,实验一Matlab基本操作
  7. 关于使用Aptana+Pydev构建Python开发环境(Django)
  8. java小学毕业学的会吗_Java的一些概念
  9. ajax datatype_jQuery中的 AJAX
  10. 第 5 章 单例设计模式
  11. PHP连接不上MySQL解决方案总结
  12. zabbix详解(十三)——zabbix微信报警实战
  13. 电子病历设计基本资料
  14. 2022考研数学 张宇 基础班【配套张宇30讲】【免费分享】
  15. VSCode换行快捷方式及键盘快捷键重置
  16. Rockchip开发系列 - 3.Pin-Ctrl 开发指南
  17. 电商网站适合用什么服务器?
  18. 突发 2022大陆多地AP考试积取消 究竟该如何应对?
  19. matlab对3r操作臂进行运动学仿真,并根据动力学方程设计控制器simulink仿真
  20. 中国计算机应用大会EI检索吗,国内EI检索的期刊有哪些?(计算机、信息方向)...

热门文章

  1. python爬取steam市场数据
  2. How to keep building your vocabulary?
  3. Android修改充电图片,安卓充电提示音修改教程
  4. 自由软件和开源软件的区别
  5. C++程序安装包被病毒篡改导致启动报错
  6. MySQL这些拿来就能用!!!
  7. 【王喆-推荐系统】线上服务篇-(task4)局部敏感哈希
  8. 新一代iPhone来袭:20款iPhone5必备游戏推荐
  9. mysql 分表 去重统计_MySQL分库分表总结
  10. 塞尔达正在维护服务器,我的世界1.8服务器塞尔达