一 查询格式
select column, group_function(column)
from 表名
[where 筛选条件]
group by 分组列表
[order by 子句]
注意:查询列表比较特殊,要求是分组函数和group by后面的字段,group by 和having后面都可以使用语句的前部分定义的别名,where后面不能使用别名。
二 分组查询的案例
注意:有筛选条件的分组查询分为分组前筛选和分组后筛选两种,分组前筛选是通过原表就可以筛选,分组后筛选是必须依赖分组的结果才能筛选,像这种查询可能猛的一下看不出来怎么写,如下步骤能简化求解:
1. 先写出框架select ... from ... group by ...
2. 观察筛选条件是分组前筛选还是分组后筛选,然后再依次加到查询语句中分组前筛选放到where后面,分组后筛选放到having后面;如果是聚合函数的结果作为筛选条件,一定是分组后筛选;能用分组前筛选的尽量用分组前筛选
1. 简单的分组查询