Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

精通MS-ACCESS SQL之基础篇(07)

时 间:2017-11-17 17:12:09
作 者:Big Young   ID:252  城市:襄阳
摘 要:  ACCESS SQL 的 GROUP BY 的用法。
正 文:

第七节 对查询记录进行分组统计

对于通过调查得到的数据,虽然经过审核、排序等整理手段给予了处理,但由于数据庞杂,还不能直接进入对数据的分析阶段。在此之前,有必要对数据进行分组处理,以反映数据分布的特征及规律。从一定意义上说,数据整理的中心任务就是分组和编制频数分布。

数据分组是根据统计研究的需要,将原始数据按照某种标准划分成不同的组别,分组后的数据称为分组数据。数据分组的主要目的是观察数据的分布特征。数据分组后再计算出各组中数据出现的的频数,就形成了一张频数分布表。

对于非数值型数据就是依据属性的不同将其划分为若干组,对于数值型数据就是依据数值的不同将数据划分为若干组。在社会经济统计研究中,数据分组的作用在于:划分现象的类型、研究总体的结构与现象之间的依存关系。

ACCESS SQL中分组是通过“GROUP BY”子句来实现的。

一、“GROUP BY”的一般语法

在查询中,“GROUP BY”子句使用频率非常高,其基本语法为:

Select 字段1, 汇总函数(字段2) FROM 表名 GROUP BY 字段1;

这里字段1”是分组要依据的字段,“字段2”是与合计函数一起要对其进行统计的字符段,表名就是与以前讲的一样是要被查询的数据库表的名称。汇总通常是与SQL的合计函数一起应用来实现汇总统计的。合计函数,又叫汇总函数或叫聚合函数,ACCESS SQL提供了“SUMAVGMAXMINCOUNT等汇总函数。

二、通过设置一个字段条件进行分组汇总

我们还是打开前面创建并使用的示例数据库“TEST.ACCDB”,用“Select * FROM 学生信息;”来查询学生信息表,结果如图7-1


7-1:查看学生信息表中的全部记录

 

这个示例表中的记录比较少,我们可以一眼看出有多少条记录,如果记录比较多就要进行统计了,我们用如下SQL语句:

Select COUNT(*) AS 记录总数 FROM 学生信息;

运行后会统计出共有10条记录,如图7-2所示。


7-2:汇总统计的记录总数

 

现在如果我们想要了解全部学生中男女各有多少人,就是需要用“Select 性别, COUNT(姓名) AS 人数 FROM 学生信息 GROUP BY 性别;”这样的SQL语句进行查询,其查询结果如图7-3


7-3:按一个字段分组查询统计

 

三、根据多个列的字段进行分组的统计

在现实的统计工作中,需求是多样的,有时依据一个字段分组并不能满足要求,需要同时依据多个字段进行分组统计。我们还是以学生信息表为例来说明,如果想统计表中每个民族的男女生人数,我们就要用到性别民族这两个字段了,如:“Select 民族, 性别, COUNT(性别) AS 人数 FROM 学生信息 GROUP BY 民族, 性别;”,组成一个查询,示例如图7-4


7-4:多个字段条件进行查询

 

查询后的结果如图7-5所示:


7-5:多个字段条件查询结果

    不过这种查询看起来也不是很直观,如果想更直观的查看,就要用到以后才会学到的交叉表查询了。

四、设置区间条件进行分组查询

有时候在统计中,还要求根据时间段或者区间来进行汇总统计,这时我们还需要用到ACCESS中的VBA涵数,用“GROUP BY”与相关函数结合进行汇总统计,如,我们要统计“学生信息”表中不同年代的学生中各民族各有多少人,可以用“Select IIF(出生日期>=#1980-1-1# AND 出生日期<=#1989-12-31#,"80年代","90年代") AS 年代, 民族, COUNT(民族) AS 人数 FROM 学生信息 GROUP BY IIF(出生日期>=#1980-1-1# AND 出生日期<=#1989-12-31#,"80年代","90年代"), 民族;”这样的SQL语句,如图7-6所示。


7-6:根据区间条件创建的分组查询

 

运行该查询,我们就可以得到每个年代中每个民族的学生的人数,如图7-7所示。


7-7:按区间条件分组查询的结果

 

    好了,分组查询今天就学到这里,其它内容稍后继续……





Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助