推荐答案
SELECT column1, column2, aggregate_function(column3) FROM table_name WHERE condition GROUP BY column1, column2;
本题详细解读
GROUP BY 子句的作用
GROUP BY
子句用于将结果集按一个或多个列进行分组。通常与聚合函数(如 COUNT
, SUM
, AVG
, MAX
, MIN
等)一起使用,以便对每个分组进行计算。
语法解析
SELECT
语句中的列必须出现在GROUP BY
子句中,或者是聚合函数的参数。aggregate_function(column3)
是对分组后的数据进行聚合计算,例如求和、计数等。WHERE
子句用于过滤数据,GROUP BY
子句在WHERE
子句之后执行。
示例
假设有一个 orders
表,包含以下列:order_id
, customer_id
, order_date
, amount
。
SELECT customer_id, SUM(amount) AS total_amount FROM orders GROUP BY customer_id;
这个查询会按 customer_id
分组,并计算每个客户的总订单金额。
注意事项
- 如果
SELECT
语句中的列没有出现在GROUP BY
子句中,也不是聚合函数的参数,SQL 会报错。 GROUP BY
子句可以按多个列进行分组,只需在GROUP BY
后列出这些列,用逗号分隔。