在SQL中,GROUP BY
用于将行分组为一个或多个汇总行,并对每个组应用聚合函数(如COUNT
、SUM
、AVG
等)。它通常与SELECT
语句一起使用来生成分组数据的汇总结果。
GROUP BY
语句的一般语法如下:
SELECT 列1, 列2, ..., 聚合函数(列)
FROM 表名
WHERE 条件
GROUP BY 列1, 列2, ...
GROUP BY
语句主要有以下几个用途:
按照指定的列对数据进行分组,生成分组的汇总结果。
可以配合聚合函数对每个组进行汇总计算,如计算每个组的总数、平均值、最大值等。
可以在查询结果中使用HAVING
子句,对分组结果进行过滤。
例如,假设有一个orders
表,包含订单的信息,其中有customer_id
(顾客ID)、order_date
(订单日期)和total_amount
(订单金额)等列。现在想要按照顾客ID分组,并统计每个顾客的订单数量和订单总金额,可以使用以下SQL查询:
SELECT customer_id, COUNT(*) AS order_count, SUM(total_amount) AS total_amount_sum
FROM orders
GROUP BY customer_id
查询结果将会按照顾客ID进行分组,并显示每个组的顾客ID、订单数量和订单总金额。