HAVING (Entity SQL)

指定群組或彙總的搜尋條件。

[ HAVING search_condition ]

引數

  • search_condition
    指定群組或彙總要符合的搜尋條件。搭配 GROUP BY ALL 使用 HAVING 時,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 Sales Model 為依據。若要編譯及執行此查詢,請遵循以下步驟:

  1. 按照 HOW TO:執行可傳回 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)