Megosztás:


HAVING (Entity SQL)

Egy csoport vagy összesítés keresési feltételét adja meg.

Szemantika

[ HAVING search_condition ]  

Érvek

search_condition
Megadja a csoport vagy az összesítendő összesítés keresési feltételét. Ha a HAVING a GROUP BY ALL kifejezéssel van használatban, a HAVING záradék felülírja az ALL-t.

Megjegyzések

A HAVING záradék egy további szűrési feltétel megadására szolgál a csoportosítás eredményén. Ha a lekérdezési kifejezésben nincs megadva GROUP BY záradék, a rendszer implicit egyhalmazos csoportot feltételez.

Megjegyzés:

A HAVING csak a SELECT utasítással használható. Ha a GROUP BY nem használatos, a HAVING where záradékként viselkedik.

A HAVING záradék a WHERE záradékhoz hasonlóan működik, kivéve, hogy a GROUP BY művelet után alkalmazza. Ez azt jelenti, hogy a HAVING záradék csak csoportosítási aliasokra és összesítésekre hivatkozhat, ahogyan az a következő példában is látható:

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

Az előző csak azokra korlátozza a csoportokat, amelyek egynél több terméket tartalmaznak.

példa

Az alábbi Entity SQL-lekérdezés a HAVING és a GROUP BY operátort használja egy csoport vagy összesítés keresési feltételének megadásához. A lekérdezés az AdventureWorks értékesítési modellen alapul. A lekérdezés fordításához és futtatásához kövesse az alábbi lépéseket:

  1. Kövesse a How to: Execute a Query that Returns PrimitiveType Results (Primitívtípus-eredményeket visszaadó lekérdezés végrehajtása) című témakör lépéseit.

  2. Adja át a következő lekérdezést argumentumként a ExecutePrimitiveTypeQuery metódusnak:

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

Lásd még