Aggregat Funktionen
Der Begriff "Aggregieren" bedeutet im Allgemeinen das Zusammenfassen oder Zusammenführen von Daten, Informationen oder Objekten zu einer größeren Einheit. In verschiedenen Bereichen hat Aggregation spezifische Bedeutungen.
Anwendungsbereiche
1. Informatik und Programmierung:
-
Datenaggregation: Zusammenführung von Daten aus mehreren Quellen oder Datensätzen zu einem neuen Datensatz. Dabei werden Daten oft gruppiert, gefiltert oder zusammengefasst (z. B. Summen, Durchschnitte, Maximum/Minimum-Werte).
-
SQL-Aggregationsfunktionen: SUM(), COUNT(), AVG(), MAX(), MIN().
2. Statistik:
-
Datenaggregation: Zusammenfassen von Einzelwerten zu Gruppendaten, um Statistiken oder Kennzahlen zu berechnen. Dies geschieht oft, um eine Übersicht über große Datenmengen zu bekommen.
-
Beispiel: In einer Umfrage können individuelle Antworten zu einer Durchschnittsbewertung aggregiert werden.
3. Netzwerktechnik:
-
Link-Aggregation: Mehrere Netzwerkverbindungen werden zu einer einzigen logischen Verbindung gebündelt, um die Bandbreite zu erhöhen und Ausfallsicherheit zu gewährleisten.
-
Beispiel: Zwei Ethernet-Kabel können zusammengefasst werden, um eine höhere Übertragungsgeschwindigkeit zu erzielen.
Anwendung in SQL
Aggregatfunktionen in SQL fassen mehrere Zeilen einer Tabelle zu einem Wert zusammen. Sie helfen, Daten zusammenzufassen oder zu analysieren.
Die wichtigsten 5 Aggregatfunktionen
- SUM(): Berechnet die Summe einer Spalte
- COUNT(): Zählt, wie viele Zeilen vorhanden sind
- AVG(): Durchschnittswerte berechnen
- MIN(): Gibt den kleinsten Wert zurück
- MAX(): Gibt den größten Wert zurück
Beispiele
Angenommen, wir haben folgende Tabelle tabelle
+-------+----------+-----------+---------+--------+
| Kunde | Vorname | Nachname | Zahlung | Betrag |
+-------+----------+-----------+---------+--------+
| 591 | KENT | ARSENAULT | 15821 | 11.99 |
| 204 | ROSEMARY | SCHMIDT | 5550 | 11.99 |
| 362 | NICHOLAS | BARFIELD | 9803 | 11.99 |
| 237 | TANYA | GILBERT | 6409 | 11.99 |
| 196 | ALMA | AUSTIN | 5281 | 11.99 |
| 13 | KAREN | JACKSON | 342 | 11.99 |
| 195 | VANESSA | SIMS | 5280 | 11.99 |
| 116 | VICTORIA | GIBSON | 3146 | 11.99 |
| 592 | TERRANCE | ROUSH | 15850 | 11.99 |
| 305 | RICHARD | MCCRARY | 8272 | 11.99 |
+-------+----------+-----------+---------+--------+
Wenn wir wissen wollen, wie hoch der Betrag ist, wenn wir alle Einzelbeträge zusammenzählen, machen wir folgendes:
SELECT SUM(Betrag) FROM tabelle;
+-------------+
| SUM(Betrag) |
+-------------+
| 119.90 |
+-------------+
1 row in set (0.042 sec)
Wie wir sehen können, ist der Spaltenname SUM(Betrag)
ziemlich hässlich,
deswegen benennen wir die Spalte einfach um:
SELECT SUM(Betrag) AS Summe FROM tabelle;
+----------+
| Summe |
+----------+
| 119.90 |
+----------+
1 row in set (0.044 sec)
Die Aggregatfunktion hat mehrere Zahlen zu einer neuen Zahl aggregiert und die Ergebnistabelle besteht nur noch aus einer Zeile.
Achtung
SELECT Kunde, SUM(Betrag) AS Summe FROM tabelle;
+-------+--------+
| Kunde | Summe |
+-------+--------+
| 237 | 119.90 |
+-------+--------+
1 row in set (0.043 sec)
Das ergibt keinen Sinn.
Mehrere Funktionen verwenden
Wir können mehrere Aggregatfunktionen gleichzeitig verwenden
SELECT
MIN(Betrag),
MAX(Betrag),
AVG(Betrag),
SUM(Betrag),
COUNT(*)
FROM tabelle;
+-------------+-------------+-------------+-------------+----------+
| MIN(Betrag) | MAX(Betrag) | AVG(Betrag) | SUM(Betrag) | COUNT(*) |
+-------------+-------------+-------------+-------------+----------+
| 0.00 | 11.99 | 4.201356 | 67406.56 | 16044 |
+-------------+-------------+-------------+-------------+----------+
1 row in set (0.056 sec)