在 SQL 中,GROUP BY
子句用于将查询结果按照一个或多个列进行分组。这使得你可以对每个分组应用聚合函数(如 COUNT、SUM、AVG、MAX 和 MIN),从而计算每个分组的统计信息。
以下是 GROUP BY
的基本语法:
SELECT column1, column2, ..., columnN, aggregate_function(column) FROM table_name WHERE conditions GROUP BY column1, column2, ..., columnN;
其中,aggregate_function
是一个聚合函数,用于计算每个分组的统计信息。
下面是一个具体的示例。假设我们有一个名为 orders
的表,其中包含以下列:order_id
、customer_id
和 amount
。现在,我们想要计算每个客户的订单总金额。我们可以使用以下查询:
SELECT customer_id, SUM(amount) as total_amount FROM orders GROUP BY customer_id;
这将返回一个结果集,其中包含每个客户的 customer_id
和他们所有订单的总金额(total_amount
)。
注意,当使用 GROUP BY
时,SELECT 子句中的非聚合列必须包含在 GROUP BY
子句中。此外,GROUP BY
子句中的列顺序也会影响结果集的排序。如果需要对结果集进行排序,可以使用 ORDER BY
子句。