[TOC]
# 分组查询
## 语法:
```
select 查询列表
from 表
【where 筛选条件】
group by 分组的字段
【order by 排序的字段】;
```
## 特点:
1、和分组函数一同查询的字段必须是group by后出现的字段
2、筛选分为两类:分组前筛选和分组后筛选
| | 针对的表 | 位置 |连接的关键字
| --- | --- |--- |--- |
| 分组前筛选 | 原始表 | group by前|where
| 分组后筛选 | group by后的结果集 |group by后|having
## 问题1:分组函数做筛选能不能放在where后面
答:不能 需要使用having来代替where。
## 问题2:where——group by——having
一般来讲,能用分组前筛选的,尽量使用分组前筛选,提高效率
3、分组可以按单个字段也可以按多个字段
4、可以搭配着排序使用