access查询中group by 与计数的区别
1个回答
展开全部
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子句),除了分组字段和汇总信息外,不得含有其它没参与分组的字段,否则系统会报错。
下面例子有助于理解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子句),除了分组字段和汇总信息外,不得含有其它没参与分组的字段,否则系统会报错。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询