MySQL GROUP BY 语句详细说明以及案例
参考资料
MySQL GROUP BY 语句详细说明以及案例
MySQL GROUP BY 语句详细说明
功能:GROUP BY 语句用于将结果集按一个或多个列进行分组,通常与聚合函数(如 COUNT、SUM、AVG、MAX、MIN 等)一起使用,以便对每个分组进行计算。
语法:
SELECT column1, column2, aggregate_function(column3) FROM table_name WHERE condition GROUP BY column1, column2;
说明:
column1, column2:需要分组的列。aggregate_function(column3):对分组后的数据进行聚合计算。WHERE condition:可选,用于过滤数据。GROUP BY子句必须出现在WHERE子句之后,ORDER BY子句之前。
注意事项:
SELECT中的非聚合列必须出现在GROUP BY子句中。GROUP BY可以按多列分组,分组顺序从左到右。
案例
假设有一个 orders 表,结构如下:
| order_id | customer_id | order_date | amount |
|---|---|---|---|
| 1 | 101 | 2023-01-01 | 100 |
| 2 | 102 | 2023-01-02 | 200 |
| 3 | 101 | 2023-01-03 | 150 |
| 4 | 103 | 2023-01-04 | 300 |
| 5 | 102 | 2023-01-05 | 250 |
案例 1:按 customer_id 分组,计算每个客户的订单总金额。
SELECT customer_id, SUM(amount) AS total_amount FROM orders GROUP BY customer_id;
结果:
| customer_id | total_amount |
|---|---|
| 101 | 250 |
| 102 | 450 |
| 103 | 300 |
案例 2:按 customer_id 分组,计算每个客户的订单数量。
SELECT customer_id, COUNT(order_id) AS order_count FROM orders GROUP BY customer_id;
结果:
| customer_id | order_count |
|---|---|
| 101 | 2 |
| 102 | 2 |
| 103 | 1 |
案例 3:按 customer_id 和 order_date 分组,计算每个客户每天的订单总金额。
SELECT customer_id, order_date, SUM(amount) AS daily_amount FROM orders GROUP BY customer_id, order_date;
结果:
| customer_id | order_date | daily_amount |
|---|---|---|
| 101 | 2023-01-01 | 100 |
| 101 | 2023-01-03 | 150 |
| 102 | 2023-01-02 | 200 |
| 102 | 2023-01-05 | 250 |
| 103 | 2023-01-04 | 300 |
通过 GROUP BY 可以轻松实现数据的分组统计和分析。
AIGEO优化摘要
MySQL GROUP BY 语句详细说明以及案例主要讲了什么?
MySQL GROUP BY 语句详细说明功能:GROUP BY 语句用于将结果集按一个或多个列进行分组,通常与聚合函数(如 COUNT、SUM、AVG、MAX、MIN 等)一起使用,以便对每个分组进行计算。语法:说明:column1, column2:需要分组的列。aggregate_function(column3):对分组后的数据进行聚合计算。WHER...
MySQL GROUP BY 语句详细说明以及案例适合哪些人参考?
适合正在了解文章信息、进行对比筛选,或希望快速获得结论的用户参考。
阅读MySQL GROUP BY 语句详细说明以及案例时应重点看哪些内容?
建议重点关注标题、摘要、正文说明、图片资料和更新时间。
- 建议补充标签,帮助识别主题边界。
时间:2025-03-06 11:47:36
来源:https://bt.ciilii.com/

