分组查询
分组查询,就是按照某个字段或多个字段,把查询结果划分成若干组,然后对每组数据进行统计计算
- 数据库分组查询
GROUP BY GROUP BY用于把多条数据按照指定字段划分成多个组- 分组查询通常配合
COUNT、SUM、AVG、MAX、MIN等聚合函数,对每组数据进行统计。
一个字段分组
- 统计每个用户的订单数量,按照 user_id 分组
- 比如筛选出来user_id为 100、200
- 100的user_id 为一组
- 200的user_id 为一组
- 比如筛选出来user_id为 100、200
SELECT
user_id,
COUNT(*) AS order_count
FROM orders
GROUP BY user_id;
多个字段分组
- 统计每个用户在每个商品分类下的订单数量:
- 用户+商品分类 单独为一组
SELECT
user_id,
category,
COUNT(*) AS order_count
FROM orders
GROUP BY user_id, category;
应用场景
- 按照字段分类统计
- 使用
GROUP BY + 聚合函数
- 使用
- 多个字段组合
- 多字段
GROUP BY
- 多字段