HAVING (Entity SQL)

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

[ HAVING search_condition ]

参数

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

备注

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

Bb399595.note(zh-cn,VS.100).gif注意:
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.Products 
    as P GROUP BY P.Name HAVING MAX(P.ListPrice) > @price

另请参见

概念

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