Teilen über


Angeben von Bedingungen für Gruppen (Visual Database Tools)

Gilt für: SQL Server

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. Weitere Informationen finden Sie unter 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. Weitere Informationen zum Verwenden von AND und OR in Suchbedingungen finden Sie unter Angeben mehrerer Suchbedingungen für eine Spalte (Visual Database Tools).

So geben Sie eine Bedingung für eine Gruppe an

  1. Geben Sie die Gruppen für die Abfrage an. Weitere Informationen finden Sie unter Gruppieren von Zeilen in Abfrageergebnissen (Visual Database Tools).

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

  3. Geben Sie die Bedingung für die Gruppe in der Spalte Filter an.

    Der Abfrage- und Sicht-Designer erstellt automatisch eine HAVING-Klausel in der Anweisung im SQL-Bereich. Beispiel:

    SELECT pub_id, AVG(price)  
    FROM titles  
    GROUP BY pub_id  
    HAVING (AVG(price) > 10)  
    
  4. Wiederholen Sie die Schritte 2 und 3 für jede weitere Bedingung, die angegeben werden soll.

Weitere Informationen

Sortieren und Gruppieren von Abfrageergebnissen (Visual Database Tools)