mysql 第三天 group by子句

语法形式:
group by 字段1, 字段2, … ;
含义:
表示对所取得的数据,以所给定的字段来进行分组。
最后的结果就是将数据分成了若干组,每组作为一个“整体”成为一行数据。
特别注意:
分组之后,只有“组信息”——一行就是一组

示例:
对于如下原始数据:
在这里插入图片描述
对其按“品牌”进行分组:
在这里插入图片描述
结果为:
在这里插入图片描述

特别注意:
分组查询的结果,要理解为,将“若干行原始数据”,分成了若干组,结果是每组为一行数据。
即:一行数据就代表“一组”这个集合概念,而不再是单个概念。
因此:一行中出现的信息,应该是“组的信息”,而不是“个体信息”。
于是,对于分组查询(group by),select中出现的信息,通常就只有两种情况的信息了:
1,分组本身的字段信息;
2,一组的综合统计信息,主要包括:
(1)计数值: count(字段), 表示求出一组中原始数据的行数;
(2)最大值: max(字段),表示求出一组中该字段的最大值;
(3)最小值: min(字段),表示求出一组中该字段的最小值;
(4)平均值: avg(字段),表示求出一组中该字段的平均值;
(5)总和值: sum(字段),表示求出一组中该字段的累加和;

以上5个函数,也称为“聚合函数”!
示例:

在这里插入图片描述

多条件分组:
将product表中的所有商品以品牌和产地进行分组,并求出每一组的数量
select pinpai, chandi, count(*) as 数量 from product group by pinpai, chandi;

猜你喜欢

转载自blog.csdn.net/qq_34608447/article/details/92600705