HAVING 子句

SELECT 语句中指定,显示哪些已用 GROUP BY 子句分组的记录。在 GROUP BY组合了记录后, HAVING会显示 GROUP BY 子句 分组的任何符合 HAVING 子句的记录。

语法

SELECT 字段表
    FROM 表
    WHERE选择准则
    GROUP BY 分组字段表
    [HAVING分组准则]

包含 HAVING 子句的 SELECT 语句具有以下几个部分:

部分 说明
fieldlist 要和任何字段名别名SQL 合计函数s, 选择断定 (ALL, DISTINCT, DISTINCTROW, TOP)或其他SELECT 语句选择一起检索的字段名称。
table 从其中获取记录的表的名称。欲知更多信息请看 FROM 子句.
selectcriteria 选择准则。如果此 语句 包含一个 WHERE 子句, Microsoft Jet数据库引擎 会在记录上应用WHERE条件,然后把值分组。
groupfieldlist 用来对记录分组的字段名,最多有 10 个字段。在 groupfieldlist 中字段名的顺序将决定组层次,由最高至最低的层次来分组。
groupcriteria 一个表达式,用以决定应显示的已分组记录。

说明

HAVING 是可选的。

HAVING 与 WHERE 类似,可用来决定选择哪个记录。在使用 GROUP BY对这些记录分组后,HAVING 会决定应显示的记录:

SELECT CategoryID,

Sum(UnitsInStock)

FROM Products

GROUP BY CategoryID

HAVING Sum(UnitsInStock) > 100 And Like "BOS*";

一个 HAVING 子句最多可包含 40 个表达式,并由诸如 And Or 之类的逻辑操作符来链接这些表达式。

请参阅
ALL、DISTINCT、DISTINCTROW、TOP 谓词(Microsoft Jet SQL) SELECT 语句 (Microsoft Jet SQL)
FROM 子句 (Microsoft Jet SQL) SELECT...INTO 语句(Microsoft Jet SQL)
GROUP BY 子句 (Microsoft Jet SQL) SQL 合计函数(SQL)
ORDER BY 子句 (Microsoft Jet SQL) WHERE 子句 (Microsoft Jet SQL)

示例

HAVING 子句示例