分组—GROUP BY子句
1.格式:`
select <列名1>,<列名2>,...
from<表名>
group by <列名1>,<列名2>,...;
GROUP BY 子句,BY子句中指定的列称为聚合键或分组列
2.功能:把表中的记录按照字段分成不同的组
3.实例演示:
--按照商品种类分组,并统计每组数据行数
select product_type,count(*) from Product
group by product_type;
--当聚合键中包含null时,也会将null作为一组特定的数据归为一类
select purchase_price,count(*)
from Product
group by purchase_price;
结果:
--where与group by 结合,先根据where子句指定的条件进行过滤,然后再进行汇总处理
select purchase_price,count(*)
from Product
where product_type='衣服'
group by purchase_price;
结果:
语句书写顺序:select→from→where →group by
GROUP BY 和WHERE并用时select语句的执行顺序:
from→where→group by→select
注意:
1.在使用COUNT这样的聚合函数时,SELECT子句中只能存在以下三种元素:常数,聚合函数,GROUP BY子句中指定的列名即聚合键。
2.select的列一定要包含在group by的列(聚合键)之中
3.在GROUP BY子句中不能使用别名
4.group by的显示结果是随机的;
5.WHERE子句中不能使用聚合函数
6.聚合函数可以在SELECT子句、HAVING子句和ORDER BY 子句中使用
更多详细内容见GROUP BY