SQL 分组查询如何实现按类别统计?

24次阅读

使用 GROUP BY 子句按类别分组,结合 SUM、count、AVG 等 聚合函数 统计每组数据,如select category, SUM(amount) FROM sales GROUP BY category;可用 HAVING 过滤分组结果,实现按条件筛选,如 HAVING SUM(amount) > 1000。

SQL 分组查询如何实现按类别统计?

sql 中实现按类别统计,主要通过 GROUP BY 子句完成。它能将数据按照一个或多个字段分组,再结合 聚合函数 对每组数据进行统计计算。

使用 GROUP BY 进行基础分类统计

假设有一张销售记录表 sales,包含商品类别(category)和销售额(amount)。要按类别统计总销售额,写法如下:

SELECT category, SUM(amount) AS total_amount
FROM sales
GROUP BY category;

这条语句会把相同 category 的记录归为一组,每组计算 amount 的总和。

常用聚合函数配合分组

除了求和,还可以用其他聚合函数实现不同类型的统计:

SQL 分组查询如何实现按类别统计?

ViiTor 实时翻译

AI 实时多语言翻译专家!强大的语音识别、AR 翻译功能。

SQL 分组查询如何实现按类别统计?116

查看详情 SQL 分组查询如何实现按类别统计?

  • COUNT():统计每类的记录条数
  • AVG():计算每类的平均值
  • MAX()/MIN():获取每类的最大值或最小值

例如统计每个类别的订单数量和平均金额:

SELECT category,
  COUNT(*) AS order_count,
  AVG(amount) AS avg_amount
FROM sales
GROUP BY category;

添加条件筛选分组结果

如果只想查看满足特定条件的分组,可用 HAVING 子句过滤分组后的结果。比如只显示总销售额超过 1000 的类别:

SELECT category, SUM(amount) AS total_amount
FROM sales
GROUP BY category
HAVING SUM(amount) > 1000;

注意:WHERE 用于分组前的行级过滤,HAVING 用于分组后的条件判断。

基本上就这些。掌握 GROUP BY 搭配聚合函数和 HAVING,就能灵活实现各类分组统计需求。

站长
版权声明:本站原创文章,由 站长 2025-10-23发表,共计863字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources