在 SQL 中,GROUP BY 语句用于根据一个或多个列对结果集进行分组。通常与聚合函数(如 SUM、COUNT、AVG 等)一起使用,以对每个组应用聚合操作。

基本语法:
SELECT column1, aggregate_function(column2)
FROM table_name
GROUP BY column1;

其中:
  •  column1 是用于分组的列。

  •  aggregate_function(column2) 是对每个组应用的聚合函数,例如 SUM(column2), COUNT(column2), AVG(column2) 等。

  •  table_name 是要查询的表。


示例:

假设有一个名为 sales 的表,包含销售信息,其中有 product_category 列表示产品类别,amount 列表示销售额。
SELECT product_category, SUM(amount) AS total_sales
FROM sales
GROUP BY product_category;

上述查询将返回每个产品类别的总销售额。

多列的 GROUP BY:

GROUP BY 语句可以根据多个列进行分组。
SELECT department, job_title, AVG(salary) AS avg_salary
FROM employees
GROUP BY department, job_title;

上述查询将返回每个部门和职位的平均工资。

HAVING 子句:

HAVING 子句用于对 GROUP BY 的结果进行过滤。
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;

上述查询将返回平均工资大于 50000 的部门。

GROUP BY 是 SQL 查询中用于分组数据的重要语句,它使得可以对数据进行更深入的分析和统计。


转载请注明出处:http://www.pingtaimeng.com/article/detail/3374/SQL