🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
语法形式: ``` group by 字段1, 字段2, .... ; ``` 含义: 表示对所取得的数据,以所给定的字段来进行分组。 最后的结果就是将数据分成了若干组,每组作为一个“整体”成为一行数据。 特别注意: 分组之后,只有“组信息”——一行就是一组 示例: 对于如下原始数据: ![](https://img.kancloud.cn/81/96/8196e1d9386e8d3b41f1b62018729769_646x237.jpg) 对其按“品牌”进行分组: ![](https://img.kancloud.cn/f2/4a/f24a804d64d057a14f3f1570d5baba1f_263x39.jpg) 结果为: ![](https://img.kancloud.cn/bc/d9/bcd9041f5dec8c453a458e0a47f83700_543x155.jpg) ### 特别注意: 分组查询的结果,要理解为,将“若干行原始数据”,分成了若干组,结果是每组为一行数据。 即:一行数据就代表“一组”这个集合概念,而不再是单个概念。 因此:一行中出现的信息,应该是“组的信息”,而不是“个体信息”。 于是,对于分组查询(group by),select中出现的信息,通常就只有两种情况的信息了: 1,分组本身的字段信息; 2,一组的综合统计信息,主要包括: (1) 计数值: count(字段), 表示求出一组中原始数据的行数; (2) 最大值: max(字段),表示求出一组中该字段的最大值; (3) 最小值: min(字段),表示求出一组中该字段的最小值; (4) 平均值: avg(字段),表示求出一组中该字段的平均值; (5) 总和值: sum(字段),表示求出一组中该字段的累加和; 以上5个函数,也称为“聚合函数”! 示例: ![](https://img.kancloud.cn/1f/cc/1fccde51341e94eb75a1d04666141e0e_674x306.jpg) 多条件分组: 将product表中的所有商品以品牌和产地进行分组,并求出每一组的数量 ``` select pinpai, chandi, count(*) as 数量 from product group by pinpai, chandi; ```