Access 中的 HAVING 字句用于指定包含 GROUP BY 子句的 SELECT 语句中显示哪些分组记录。 在 GROUP BY 对记录进行组合之后,HAVING 将显示由 GROUP BY 子句分组的满足 HAVING 子句条件的任何记录。
语法
SELECT fieldlist
FROM table 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 个由逻辑运算符(例如 And 和 Or)链接的表达式。