HAVING (Entity SQL)
Anger ett sökvillkor för en grupp eller en aggregering.
Syntax
[ HAVING search_condition ]
Argument
search_condition
Anger sökvillkoret för gruppen eller den mängd som ska uppfyllas. När HAVING används med GROUP BY ALL åsidosätter HAVING-satsen ALLA.
Kommentarer
HAVING-satsen används för att ange ytterligare ett filtreringsvillkor för resultatet av en gruppering. Om ingen GROUP BY-sats anges i frågeuttrycket antas en implicit grupp med en uppsättning.
Kommentar
HAVING kan endast användas med SELECT-instruktionen. När GROUP BY inte används fungerar HAVING som en WHERE-sats.
HAVING-satsen fungerar som WHERE-satsen förutom att den tillämpas efter ÅTGÄRDEN GROUP BY. Det innebär att HAVING-satsen bara kan göra referenser till grupperingsalias och aggregeringar, vilket visas i följande exempel:
SELECT Name, SUM(o.Price * o.Quantity) AS Total FROM orderLines AS o GROUP BY o.Product AS Name
HAVING SUM(o.Quantity) > 1
Föregående begränsar grupperna till endast de som innehåller fler än en produkt.
Exempel
Följande entitets-SQL-fråga använder operatorerna HAVING och GROUP BY för att ange ett sökvillkor för en grupp eller en aggregering. Frågan baseras på AdventureWorks försäljningsmodell. Följ dessa steg för att kompilera och köra den här frågan:
Följ proceduren i Så här kör du en fråga som returnerar PrimitiveType-resultat.
Skicka följande fråga som ett argument till
ExecutePrimitiveTypeQuery
metoden:
SELECT VALUE name FROM AdventureWorksEntities.Products
AS P GROUP BY P.Name HAVING MAX(P.ListPrice) > @price