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
-
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. SQLSELECT 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. -
Wie hoch sind die durchschnittlichen Anschaffungskosten aller in der Datenbank gespeicherten Fahrräder?
SQLSELECT 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. -
Wie viele Fahrräder sind in der Datenbank gespeichert?
SQLSELECT 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. |
Aufgabe 3-12: Aggregatfunktionen
Datenbank Firmenwagen
Erstellen Sie jeweils eine SQL-Anweisung, die als Abfrageergebnis eine Tabelle mit den gewünschten Daten zurückgibt:
-
Wie hoch sind die Gesamtkosten, aller in der Datenbank gespeicherten Instandhaltungsmaßnahmen?
Lösung
Lösung
SQLSELECT SUM(Kosten) AS Gesamtkosten
FROM Instandhaltung;Abb. 3-88: SQL-Anweisung -
Wie hoch sind die Anschaffungskosten des teuersten in der Datenbank gespeicherten Fahrzeugs?
Lösung
Lösung
SQLSELECT MAX(Anschaffungskosten) AS AK_Max
FROM Fahrzeug;Abb. 3-89: SQL-Anweisung -
Wie hoch ist der geringste Versicherungsbeitrag der in der Datenbank gespeicherten Versicherungsverträge?
Lösung
Lösung
SQLSELECT MIN(Beitrag) AS Beitrag_Min
FROM Versicherungsvertrag;Abb. 3-90: SQL-Anweisung -
Wie viele Mitarbeiter sind in der Datenbank gespeichert?
Lösung
Lösung
SQLSELECT COUNT(*) AS Mitarbeiterzahl
FROM Mitarbeiter;Abb. 3-91: SQL-Anweisung