HAVING (Entity SQL)

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

[ HAVING search_condition ]

参数

  • search_condition
    指定组或聚合应满足的搜索条件。当 HAVING 与 GROUP BY ALL 一起使用时,HAVING 子句优先于 ALL。

备注

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

Note注意

HAVING 只能与 SELECT (Entity SQL) 语句一起使用。如果不使用 GROUP BY (Entity SQL),则 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 结果的查询 (EntityClient) 中的过程。

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

SELECT VALUE name FROM AdventureWorksEntities.Product 
    as P GROUP BY P.Name HAVING MAX(P.ListPrice) > 5

输出如下所示:

Value: LL Mountain Seat Assembly
Value: ML Mountain Seat Assembly
Value: HL Mountain Seat Assembly
Value: LL Road Seat Assembly
Value: ML Road Seat Assembly

另请参见

概念

Entity SQL 参考
查询表达式 (Entity SQL)