access查询中group by 与计数的区别
问题描述:
access查询中group by 与计数的区别
答
ACCESS里 "Group By”与"Count" 是两个不同的东西.前者是SQL查询语言里的“分组子句”,它可以对记录进行分组,用于提取每个组中一条与该组汇总有关的信息.后者是SQL查询语言里的聚合函数之一,它可以对记录进行计数,返回记录的条数."Group By”子句通常要与聚合函数配合使用借以提取记录中的分组信息.最常用的SQL聚合函数包括Avg,Count,Max,Min 和 Sum等.
下面例子有助于理解group by 与计数这两者的概念及其作用
假设有数据表
学生
班级 姓名 性别 评分
一班 张三 男 6
一班 李四 女 8
二班 王五 男 5
一班 陈一 男 8
二班 赵七 女 9
1)求各班的人数、总评分和平均评分
运行SQL查询
select 班级,count(*) as 人数,sum(评分) as 总评分,Avg(评分) as 平均分
from 学生 group by 班级;
返回
班级 人数 总评分 平均分
一班 3 22 7.33
二班 2 14 7
2)求各班的男女生人数
运行SQL查询
select 班级,性别,count(*) as 人数
from 学生 group by 班级,性别;
返回
班级 性别,人数
一班 男 2
一班 女 1
二班 男 1
二班 女 1
注意;使用group by 子句时,输出的字段列表里(select子句),除了分组字段和汇总信息外,不得含有其它没参与分组的字段,否则系统会报错.