分组和HAVING子句的使用
1. 分组的基础
在SQL查询中, GROUP BY
子句是一个强大的工具,它允许我们将查询结果按照一个或多个列进行分组。这种分组操作使得我们可以对每个组应用聚合函数,从而实现更复杂的数据分析。例如,如果我们想要知道每个月有多少员工入职,我们可以使用 GROUP BY
子句按月份分组,并使用 COUNT()
函数计算每个月的入职人数。
1.1 GROUP BY
子句的作用
GROUP BY
子句的作用是将查询结果集中的行按照一个或多个列的值进行分组。每个分组可以视为一个独立的集合,我们可以在这个集合上应用聚合函数来计算每个分组的汇总信息。例如:
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;
这段SQL语句会返回每个部门的员工数量。
1.2 分组后的聚合函数
在 GROUP BY
子句中,常用的聚合函数包括但不限于:
-
COUNT()
:计算行数 -
SUM()
:计算总和 -
AVG()
:计算平均值 -