Gewusst wie: Wertzusammenfassung oder -aggregation für alle Zeilen in einer Tabelle
Aktualisiert: November 2007
Mithilfe einer Aggregatfunktion können Sie eine Zusammenfassung für alle Werte in einer Tabelle erstellen. Sie können z. B. folgende Abfrage erstellen, um den Gesamtpreis aller Bücher in der Tabelle titles anzeigen zu lassen:
SELECT SUM(price)
FROM titles
Sie können mehrere Aggregationen in derselben Abfrage erstellen, wenn Sie Aggregatfunktionen auf mehrere Spalten anwenden. Beispielsweise können Sie eine Abfrage erstellen, in der die Gesamtsumme der Spalte price und der Durchschnittswert der Spalte discount berechnet werden.
Sie können jedoch auch eine einzige Spalte in derselben Abfrage auf unterschiedliche Weise aggregieren (z. B. Ausgabe der Gesamtsumme, der Anzahl und des Durchschnittswerts). In der folgenden Abfrage wird beispielsweise der Durchschnittswert und die Gesamtsumme für die Spalte price in der Tabelle titles berechnet:
SELECT AVG(price), SUM(price)
FROM titles
Wenn Sie eine Suchbedingung hinzufügen, können Sie die Teilmenge von Zeilen aggregieren, die die entsprechende Bedingung erfüllt.
Hinweis: |
---|
Sie können außerdem alle Zeilen in der Tabelle oder nur die Zeilen zählen, die eine bestimmte Bedingung erfüllen. Einzelheiten dazu finden Sie unter Gewusst wie: Zählen der Zeilen in einer Tabelle. |
Wenn Sie für alle Zeilen in einer Tabelle einen einzigen Aggregatwert erstellen, werden nur die Aggregatwerte selbst angezeigt. Wenn Sie z. B. die Gesamtsumme des Werts für die Spalte price in der Tabelle titles berechnen, werden die einzelnen Buchtitel, Herausgebernamen usw. nicht angezeigt.
Hinweis: |
---|
Wenn Sie Teilergebnisse berechnen, d. h. Gruppen erstellen, können Sie die Spaltenwerte für jede Gruppe anzeigen lassen. Einzelheiten dazu finden Sie unter Gewusst wie: Gruppieren von Zeilen in Abfrageergebnissen. |
Hinweis: |
---|
Die Dialogfelder und Menübefehle können sich je nach persönlichen aktiven Einstellungen oder verwendeter Version von den in der Hilfe beschriebenen unterscheiden. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Visual Studio-Einstellungen. |
So aggregieren Sie Werte für alle Zeilen
Stellen Sie sicher, dass die Tabelle, die Sie aggregieren möchten, bereits im Diagrammbereich angezeigt wird.
Klicken Sie mit der rechten Maustaste auf den Hintergrund des Diagrammbereichs, und wählen Sie im Kontextmenü die Option Gruppieren nach aus. Der Abfrage- und Ansicht-Designer fügt dem Datenblatt im Kriterienbereich die Spalte Gruppieren nach hinzu.
Fügen Sie dem Kriterienbereich die Spalte hinzu, die aggregiert werden soll. Vergewissern Sie sich, dass die Spalte für die Ausgabe ausgewählt ist.
Der Abfrage- und Ansicht-Designer weist der Spalte, die zusammengefasst wird, automatisch einen Spaltenalias zu. Sie können diesen Alias durch einen aussagekräftigeren Alias ersetzen. Einzelheiten dazu finden Sie unter Gewusst wie: Erstellen von Spaltenaliasen.
Wählen Sie in der Spalte des Datenblattes Gruppieren nach die gewünschte Aggregatfunktion, z. B.: SUM, AVG, MIN, MAX, COUNT. Wenn im Resultset nur eindeutige Zeilen aggregiert werden sollen, wählen Sie eine Aggregatfunktion mit den DISTINCT-Optionen, z. B. Min Distinct, aus. Verwenden Sie nicht Gruppieren nach, Ausdruck oder Where, da diese Optionen bei einer Aggregation aller Zeilen nicht anwendbar sind.
Hinweis: Oracle unterstützt weitere Aggregatfunktionen.
Der Abfrage- und Ansicht-Designer ersetzt den Spaltennamen in der Anweisung im SQL-Bereich durch die angegebene Aggregatfunktion. Die SQL-Anweisung könnte z. B. folgendermaßen aussehen:
SELECT SUM(price) FROM titles
Wenn Sie mehrere Aggregationen in der Abfrage erstellen möchten, wiederholen Sie die Schritte 3 und 4.
Wenn Sie der Liste der Abfrageergebnisse oder der ORDER BY-Liste eine weitere Spalte hinzufügen, wird vom Abfrage- und Ansicht-Designer automatisch der Begriff Gruppieren nach in die Spalte des Datenblattes Gruppieren nach eingefügt. Wählen Sie die entsprechende Aggregatfunktion aus.
Fügen Sie bei Bedarf Suchbedingungen hinzu, um die Teilmenge der zusammenzufassenden Zeilen anzugeben.
Bei Ausführung der Abfrage werden die angegebenen Aggregationen im Ergebnisbereich angezeigt.
Hinweis: |
---|
Der Abfrage- und Ansicht-Designer behält die Aggregatfunktionen so lange als Bestandteil der SQL-Anweisung im SQL-Bereich bei, bis Sie den Gruppieren nach-Modus explizit ausschalten. Wenn Sie daher den Typ der Abfrage ändern oder ändern, welche Tabellen bzw. Tabellenwertobjekte im Diagrammbereich vorhanden sind, kann die resultierende Abfrage unter Umständen ungültige Aggregatfunktionen enthalten. |