📅  最后修改于: 2023-12-03 15:41:58.480000             🧑  作者: Mango
在 SQL 中,可以使用 GROUP BY
子句将结果集按照一个或多个列进行分组,然后对每个分组进行计算或聚合操作。在 GROUP BY
子句中指定的列必须出现在 SELECT
子句中或是聚合函数的参数中。
下面是一个简单的示例,它使用 GROUP BY
子句来计算各种产品的销售总额:
SELECT product_name, SUM(sales_amount) AS total_sales
FROM sales
GROUP BY product_name;
此 SQL 语句将 sales
表中的数据按照 product_name
分组,并对每个分组计算销售总额。使用 SUM
聚合函数对 sales_amount
列进行求和。
除了单个列之外,您还可以在 GROUP BY
子句中指定多个列,例如:
SELECT product_name, sales_region, SUM(sales_amount) AS total_sales
FROM sales
GROUP BY product_name, sales_region;
这个例子使用两个列来分组数据: product_name
和 sales_region
。查询结果将返回每个产品在每个销售区域的销售总额。
可以将 GROUP BY
子句与其他子句一起使用,例如 WHERE
、ORDER BY
:
SELECT product_name, sales_region, SUM(sales_amount) AS total_sales
FROM sales
WHERE sales_date BETWEEN '2021-01-01' AND '2021-12-31'
GROUP BY product_name, sales_region
ORDER BY total_sales DESC;
这个例子通过 WHERE
子句限制了数据的时间范围,并通过 ORDER BY
子句按照销售总额降序排列结果。注意,对于使用 GROUP BY
的查询,ORDER BY
子句中只能包含 SELECT
列中的列或者聚合函数的参数。
总之,GROUP BY
子句是 SQL 中非常有用和常见的功能。使用 GROUP BY
可以生成聚合数据以及分类汇总数据报告。