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

使用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,就能灵活实现各类分组统计需求。

暂无评论

发送评论 编辑评论


				
上一篇
下一篇
text=ZqhQzanResources