本文介绍HAVING子句与使用方法。

语法

可选的 HAVING 子句具有以下形式:

HAVING condition

其中,condition 与为 WHERE 子句指定的相同。

说明

HAVING 排除不满足指定条件的组行。HAVINGWHERE 不同;WHERE 在应用 GROUP BY 之前筛选单个行,而 HAVING 筛选由 GROUP BY 创建的组行。条件中引用的每个列必须明确地引用分组列,除非引用出现在聚合函数中。

示例

要对所有员工的列 sal 求和,请按部门编号对结果分组并显示小于10000 的那些组总计:

SELECT deptno, SUM(sal) AS total
    FROM emp
    GROUP BY deptno
    HAVING SUM(sal) < 10000;

 deptno |  total
--------+---------
     10 | 8750.00
     30 | 9400.00
(2 rows)