3.7 Aggregatfunktionen

Aggregatfunktionen fassen alle Werte einer bestimmten Spalte des Abfrageergebnisses zusammen und werten diese aus. Je nach Funktion kann so zum Beispiel die Summe oder der Mittelwert dieser Werte ermittelt werden.

Beispiele
  1. Wie hoch ist die Summe der Anschaffungskosten aller in der Datenbank gespeicherten Fahrräder?

    Tabelle Fahrrad

    ID Kennung Anschaffungskosten
    1 Cross#7 670.00
    2 Mark#2 750.00
    Abb. 3-80: Tabelle Fahrrad, erweitert um die Spalte Anschaffungskosten.
    SQL
    SELECT SUM(Anschaffungskosten) AS AK_Gesamt
    FROM Fahrrad;
    Abb. 3-81: SQL-Anweisung

    Abfrageergebnis

    AK_Gesamt
    1420,00
    Abb. 3-82: Abfrageergebnis der SQL-Anweisung aus Abb. 3-81.
  2. Wie hoch sind die durchschnittlichen Anschaffungskosten aller in der Datenbank gespeicherten Fahrräder?

    SQL
    SELECT AVG(Anschaffungskosten) AS AK_Durchschnitt
    FROM Fahrrad;
    Abb. 3-83: SQL-Anweisung

    Abfrageergebnis

    AK_Durchschnitt
    710.00
    Abb. 3-84: Abfrageergebnis der SQL-Anweisung aus Abb. 3-83.
  3. Wie viele Fahrräder sind in der Datenbank gespeichert?

    SQL
    SELECT COUNT(*) AS Fahrraeder
    FROM Fahrrad;
    Abb. 3-85: SQL-Anweisung

    Abfrageergebnis

    Fahrraeder
    2
    Abb. 3-86: Abfrageergebnis der SQL-Anweisung aus Abb. 3-85.

MySQL unterstützt unter anderem folgende Aggregatfunktionen:

Aggregatfunktion Beschreibung
SUM(spalte) Addiert alle in der betreffenden Spalte enthaltenen Werte.
AVG(spalte) Bildet den Mittelwert aller in der betreffenden Spalte enthaltenen Werte. NULL-Werte werden dabei ignoriert.
MIN(spalte) Ermittelt den kleinsten Wert der betreffenden Spalte.
MAX(spalte) Ermittelt den größten Wert der betreffenden Spalte.
COUNT(spalte) Zählt alle Datensätze, die in der betreffenden Spalte einen Wert enthalten.
COUNT(*) Zählt alle Datensätze.
Abb. 3-87: Aggregatfunktion (MySQL)
Merke: Aggregatfunktion
Aufgabe

Aufgabe 3-12: Aggregatfunktionen

Datenbank Firmenwagen

Erstellen Sie jeweils eine SQL-Anweisung, die als Abfrageergebnis eine Tabelle mit den gewünschten Daten zurückgibt:

  1. Wie hoch sind die Gesamtkosten, aller in der Datenbank gespeicherten Instandhaltungsmaßnahmen? Lösung
    Lösung
    SQL
    SELECT SUM(Kosten) AS Gesamtkosten
    FROM Instandhaltung;
    Abb. 3-88: SQL-Anweisung
  2. Wie hoch sind die Anschaffungskosten des teuersten in der Datenbank gespeicherten Fahrzeugs? Lösung
    Lösung
    SQL
    SELECT MAX(Anschaffungskosten) AS AK_Max
    FROM Fahrzeug;
    Abb. 3-89: SQL-Anweisung
  3. Wie hoch ist der geringste Versicherungsbeitrag der in der Datenbank gespeicherten Versicherungsverträge? Lösung
    Lösung
    SQL
    SELECT MIN(Beitrag) AS Beitrag_Min
    FROM Versicherungsvertrag;
    Abb. 3-90: SQL-Anweisung
  4. Wie viele Mitarbeiter sind in der Datenbank gespeichert? Lösung
    Lösung
    SQL
    SELECT COUNT(*) AS Mitarbeiterzahl
    FROM Mitarbeiter;
    Abb. 3-91: SQL-Anweisung