Gewusst wie: Angeben von Bedingungen für Gruppen
Aktualisiert: November 2007
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 finden Sie unter Gewusst wie: Verwenden von HAVING- und WHERE-Klauseln in derselben Abfrage. |
Sie können komplexe Bedingungen für eine HAVING-Klausel erstellen, indem Sie Bedingungen mit AND und OR verknüpfen. Einzelheiten zur Verwendung der Operatoren AND und OR in Suchbedingungen finden Sie unter Gewusst wie: Angeben mehrerer Suchbedingungen für eine Spalte.
Hinweis: |
---|
Abhängig von den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Visual Studio-Einstellungen. |
So geben Sie eine Bedingung für eine Gruppe an
Geben Sie die Gruppen für die Abfrage an. Einzelheiten finden Sie unter Gewusst wie: Gruppieren von Zeilen in Abfrageergebnissen.
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
Aufgaben
Gewusst wie: Verwenden von HAVING- und WHERE-Klauseln in derselben Abfrage