聚合与分组

聚合与分组

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

今天我们学习了SQL中的聚合函数(如COUNT、SUM、AVG)和分组操作。通过使用GROUP BY按列分组数据,利用HAVING过滤分组,我们掌握了计算总销售、平均订单值及按产品类别分组的方法。

🎯

关键要点

  • 今天学习了SQL中的聚合函数和分组操作。

  • 聚合函数用于对一组值进行计算并返回单一值,常见的聚合函数包括COUNT、SUM、AVG、MAX和MIN。

  • 使用GROUP BY子句可以根据一个或多个列对数据进行分组,并对每个组应用聚合函数。

  • HAVING子句用于根据条件过滤分组,类似于WHERE子句,但在分组后应用。

  • 通过示例展示了如何计算总销售、平均订单值以及按产品类别分组。

  • 练习查询包括计算总销售、平均订单值、按产品类别分组的销售额等。

  • 实际案例展示了如何获取项目的关键统计数据,如用户总数和最畅销的产品类别。

  • 学习了WHERE和HAVING的区别,以及GROUP BY如何处理NULL值。

  • 掌握了聚合函数的应用,能够使用GROUP BY和HAVING进行数据分组和汇总。

延伸问答

SQL中的聚合函数有哪些?

常见的聚合函数包括COUNT、SUM、AVG、MAX和MIN。

如何使用GROUP BY进行数据分组?

使用GROUP BY子句可以根据一个或多个列对数据进行分组,并对每个组应用聚合函数。

HAVING子句的作用是什么?

HAVING子句用于根据条件过滤分组,类似于WHERE子句,但在分组后应用。

如何计算总销售额?

可以使用查询SELECT SUM(total) AS total_sales FROM orders;来计算总销售额。

GROUP BY如何处理NULL值?

GROUP BY会将NULL值视为一个单独的组进行处理。

如何使用HAVING筛选分组后的数据?

可以在GROUP BY后使用HAVING子句,例如:SELECT user_id, SUM(total) AS total_sales FROM orders GROUP BY user_id HAVING SUM(total) > 500;

➡️

继续阅读