基本语法:
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