跳到主要内容

分组查询

分组查询,就是按照某个字段或多个字段,把查询结果划分成若干组,然后对每组数据进行统计计算

  • 数据库分组查询 GROUP BY
  • GROUP BY 用于把多条数据按照指定字段划分成多个组
  • 分组查询通常配合 COUNT、SUM、AVG、MAX、MIN 等聚合函数,对每组数据进行统计。

一个字段分组​

  • 统计每个用户的订单数量,按照 user_id 分组
    • 比如筛选出来user_id为 100、200
      • 100的user_id 为一组
      • 200的user_id 为一组
sql
SELECT
user_id,
COUNT(*) AS order_count
FROM orders
GROUP BY user_id;

多个字段分组​

  • 统计每个用户在每个商品分类下的订单数量:
    • 用户+商品分类 单独为一组
sql
SELECT
user_id,
category,
COUNT(*) AS order_count
FROM orders
GROUP BY user_id, category;

应用场景​

  • 按照字段分类统计
    • 使用GROUP BY + 聚合函数
  • 多个字段组合
    • 多字段 GROUP BY