聚合函数

runtao.zhong 于 2026-08-07 发布

常用聚合函数

函数 说明
AVG(列) 平均值
SUM(列) 求和
MAX(列) 最大值
MIN(列) 最小值
COUNT(列) 计数(不计算 NULL 值)

分组查询

GROUP BY(列名)         -- 按列分组
GROUP BY(列名) WITH ROLLUP  -- 最后计算总数(不能与 ORDER BY 同时使用)

示例

查询部门 ID 为 10/20/30/40 中最高工资超过 10000 的部门:

-- 方式一(推荐,效率更高)
SELECT department_id, MAX(salary)
FROM employees
WHERE department_id IN (10, 20, 30, 40)
GROUP BY department_id
HAVING MAX(salary) > 10000;

-- 方式二
SELECT department_id, MAX(salary)
FROM employees
GROUP BY department_id
HAVING MAX(salary) > 10000
   AND department_id IN (10, 20, 30, 40);

注意:

  1. 出现聚合函数时要用 HAVING 代替 WHERE
  2. HAVING 不能单独出现,必须和 GROUP BY 一起使用