聚合函数是SQL语句当中对一批数据进行数学运算所使用的函数,常用的聚合函数包括:
1#
count:返回结果集中行的数目/count:总记录数,总条数
selet count() from score ----------count() 求查询表的总记录数(总条数)
select count(列名) from score;
求出非空值的总条数
select count (8) from score --括号中的数字随便填的,代表求表的总条数
2#
sum : 返回结果集中所有值的总和/ 求和
select sum(列名) from 列名 —sum(列名),进行求和统计
3#
avg:返回结果集中所有值的平均数 / 求平均值
select avg(l列名) from 列名;
4#
min : 返回结果集中所有值的最小值
selet min(列名) from 列名;
5#
max : 返回结果集合中所有值的最大值 / 求大值
select max(列名) from 列名;
分组查询:
分组查询使用GROUP BY 关键字队列进行分组,通常放置于where条件之后。如果需要对分组结果进行过滤,则不能再使用where条件,而应该使用HAVING关键字进行条件过滤。比如我们查询学生的所有课程成绩的平均分高于60分的学生姓名,则可以使用如下SQL语句:
select 学生表.学生姓名, AVG(考试成绩) from 学生表,成绩表 where 学生表. 学生编号 = 成绩表.学生编号 group by 学生表. 学生姓名 having avg (考试成绩) >=60;
WHERE 子句:
从数据源中去掉不符合其搜索条件的数据
GROUP BY 子句:
搜索数据行到各个组中,统计函数为各个组计算统计值,每个组输出一行数据
HAVING 子句:
从分组计算结果中进行过滤,去掉不符合其组搜索条件的各组数据行
分组查询和聚合函数配套使用:
求学生表中 男生人数,女生的人数
select sex,count(sex),max(age) from student group by sex having sex =‘男’