在介绍GROUP BY 和 HAVING 子句前,我们必需先讲讲sql语言中一种特殊的函数:聚合函数,
例如SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。
SELECT SUM(population) FROM bbc
这里的SUM作用在所有返回记录的population字段上,结果就是该查询只返回一个结果,即所有
国家的总人口数。
having是分组(group by)后的筛选条件,分组后的数据组内再筛选
where则是在分组前筛选
全部章节 >>>>
本章目录
6.1 sum、max 和 min 聚合函数
6.1.1 聚合函数介绍
6.1.2 sum 函数
6.1.3 max/min 函数
6.2 avg 和 count 函数
6.2.1 avg 函数
6.2.2 count 函数
6.3 分组查询 group by 子句
6.3.1 group by 子句
6.3.2 创建分组
6.3.3 比较 order by 和 group by
6.3.4 使用 where 子句实现分组之前过滤数据
进阶5:分组查询
语法:
select 查询列表
from 表
【where 筛选条件】
group by 分组的字段
【order by 排序的字段】;
注意:
查询列表必须特殊,要求是分组函数和group by后出现的字段
特点:
1、分组查询中的筛选条件分两类
数据源
位置
关键字
分组前筛选
原始表
group by前面
where
分组后筛选
分组后的结果集
group by后面
having
分组函数做条件肯定放在having中
group by 子句支持单