Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt eine Suchbedingung für eine Gruppe oder ein Aggregat an.
Syntax
[ HAVING search_condition ]
Argumente
search_condition
Gibt die Suchbedingung für die Gruppe oder das zu erfüllende Aggregat an. Wenn HAVING mit GROUP BY ALL verwendet wird, überschreibt die HAVING-Klausel ALL.
Bemerkungen
Die HAVING-Klausel wird verwendet, um eine zusätzliche Filterbedingung für das Ergebnis einer Gruppierung anzugeben. Wenn im Abfrageausdruck keine GROUP BY-Klausel angegeben wird, wird eine implizite Einzelsatzgruppe angenommen.
Hinweis
HAVING kann nur mit der SELECT-Anweisung verwendet werden. Wenn GROUP BY nicht verwendet wird, verhält sich HAVING wie eine WHERE-Klausel.
Die HAVING-Klausel funktioniert wie die WHERE-Klausel, mit der Ausnahme, dass sie nach dem GROUP BY-Vorgang angewendet wird. Dies bedeutet, dass die HAVING-Klausel nur Verweise auf Gruppierungsaliasen und Aggregate erstellen kann, wie im folgenden Beispiel veranschaulicht:
SELECT Name, SUM(o.Price * o.Quantity) AS Total FROM orderLines AS o GROUP BY o.Product AS Name
HAVING SUM(o.Quantity) > 1
Im vorherigen Wird die Gruppe auf die Gruppen beschränkt, die mehr als ein Produkt enthalten.
Beispiel
Die folgende Entity SQL-Abfrage verwendet die HAVING- und GROUP BY-Operatoren, um eine Suchbedingung für eine Gruppe oder ein Aggregat anzugeben. Die Abfrage basiert auf dem AdventureWorks Sales Model. Führen Sie die folgenden Schritte aus, um diese Abfrage zu kompilieren und auszuführen:
Gehen Sie wie folgt vor : Ausführen einer Abfrage, die PrimitiveType-Ergebnisse zurückgibt.
Übergeben Sie die folgende Abfrage als Argument an die
ExecutePrimitiveTypeQueryMethode:
SELECT VALUE name FROM AdventureWorksEntities.Products
AS P GROUP BY P.Name HAVING MAX(P.ListPrice) > @price