Dela via


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:

  1. Följ proceduren i Så här kör du en fråga som returnerar PrimitiveType-resultat.

  2. 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

Se även