HAVING 子句

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

Access 中的 HAVING 字句用于指定包含 GROUP BY 子句的 SELECT 语句中显示哪些分组记录。 在 GROUP BY 对记录进行组合之后,HAVING 将显示由 GROUP BY 子句分组的满足 HAVING 子句条件的任何记录。

语法

SELECT 字段列表
FROM
WHERE selectcriteria
GROUP BY groupfieldlist
[HAVING groupcriteria]

包含 HAVING 子句的 SELECT 语句由以下部分组成:

部分 说明
fieldlist 要与任何字段名别名、SQL 聚合函数、选择谓词(ALL、DISTINCT、DISTINCTROW 或 TOP)或其他 SELECT 语句选项一起进行检索的字段的名称。
table 从中检索记录的表的名称。
selectcriteria 选择条件。 如果语句包含 WHERE 子句,则在将 WHERE 条件应用于记录之后,Microsoft Access 数据库引擎对值进行分组。
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 个由逻辑运算符(例如 AndOr)链接的表达式。