HAVING (实体 SQL)

指定组或聚合的搜索条件。

语法

[ HAVING search_condition ]  

论据

search_condition
指定要满足的组或聚合的搜索条件。 将 HAVING 与 GROUP BY ALL 一起使用时,HAVING 子句将替代 ALL。

注解

HAVING 子句用于指定分组结果的其他筛选条件。 如果在查询表达式中未指定 GROUP BY 子句,则假定使用隐式单集组。

注释

HAVING 只能与 SELECT 语句一起使用。 如果未使用 GROUP BY,HAVING 的行为类似于 WHERE 子句。

HAVING 子句的工作方式类似于 WHERE 子句,只是在 GROUP BY作之后应用了它。 这意味着 HAVING 子句只能引用分组别名和聚合,如以下示例所示:

SELECT Name, SUM(o.Price * o.Quantity) AS Total FROM orderLines AS o GROUP BY o.Product AS Name  
HAVING SUM(o.Quantity) > 1  

上一个将组限制为仅包含多个产品的组。

示例:

以下 Entity SQL 查询使用 HAVING 和 GROUP BY 运算符指定组或聚合的搜索条件。 查询基于 AdventureWorks 销售模型。 若要编译并运行此查询,请执行以下步骤:

  1. 按照作方法中的过程作 :执行返回 PrimitiveType 结果的查询

  2. 将以下查询作为参数传递给 ExecutePrimitiveTypeQuery 方法:

SELECT VALUE name FROM AdventureWorksEntities.Products 
    AS P GROUP BY P.Name HAVING MAX(P.ListPrice) > @price

另请参阅