Vorgehensweise: Angeben von Bedingungen für Gruppen (Visual Database Tools)
Sie können die Anzahl der in einer Abfrage aufgeführten Gruppen begrenzen, indem Sie eine Bedingung angeben, die für Gruppen als Ganzes gilt - eine HAVING-Klausel. Die Bedingungen der HAVING-Klausel werden angewendet, nachdem alle Daten gruppiert und aggregiert wurden. Nur die Gruppen werden in die Abfrage aufgenommen, die die Bedingungen erfüllen.
Angenommen, Sie möchten den Durchschnittspreis aller Bücher der einzelnen Herausgeber in der Tabelle titles anzeigen lassen, wenn dieser höher als 10,00 ist. In diesem Fall kann eine HAVING-Klausel mit folgender Bedingung angegeben werden: AVG(price) > 10.
Hinweis |
---|
In einigen Fällen kann es sinnvoll sein, vor Anwendung einer Bedingung auf Gruppen als Ganzes einzelne Zeilen aus den Gruppen auszuschließen. Einzelheiten dazu finden Sie unter Vorgehensweise: Verwenden von HAVING- und WHERE-Klauseln in derselben Abfrage (Visual Database Tools. |
Sie können komplexe Bedingungen für eine HAVING-Klausel erstellen, indem Sie Bedingungen mit AND und OR verknüpfen. Einzelheiten zum Verwenden der Operatoren AND und OR in Suchbedingungen finden Sie unter Vorgehensweise: Angeben mehrerer Suchbedingungen für eine Spalte (Visual Database Tools).
So geben Sie eine Bedingung für eine Gruppe an
Geben Sie die Gruppen für die Abfrage an. Einzelheiten dazu finden Sie unter Vorgehensweise: Gruppieren von Zeilen in Abfrageergebnissen (Visual Database Tools).
Fügen Sie dem Kriterienbereich die Spalte hinzu, auf der die Bedingung basieren soll, sofern sie dort nicht bereits vorhanden ist. (Meistens enthält die Bedingung eine bereits gruppierte bzw. zusammengefasste Spalte.) Spalten, die weder einer Aggregatfunktion noch der GROUP BY-Klausel angehören, können nicht verwendet werden.
Geben Sie die Bedingung für die Gruppe in der Spalte Filter an.
Der Abfrage- und Ansicht-Designer erstellt automatisch eine HAVING-Klausel in der Anweisung im SQL-Bereich, z. B.:
SELECT pub_id, AVG(price) FROM titles GROUP BY pub_id HAVING (AVG(price) > 10)
Wiederholen Sie die Schritte 2 und 3 für jede weitere Bedingung, die angegeben werden soll.
Siehe auch