CodeGym /Kurse /SQL SELF /Einführung in Aggregatfunktionen

Einführung in Aggregatfunktionen

SQL SELF
Level 7 , Lektion 0
Verfügbar

Aggregatfunktionen... Diese Dinger sind echte Zauberer in der Datenanalyse! Sie helfen dir, Millionen von Datenzeilen in kompakte und verständliche Ergebnisse zu verwandeln. Damit kannst du zählen, Minimum und Maximum finden, Werte mitteln und noch viele andere Sachen machen. Lass uns das Ganze mal Schritt für Schritt anschauen.

Aggregatfunktionen sind spezielle SQL-Funktionen, die Operationen auf Gruppen von Zeilen ausführen und ein einzelnes Ergebnis zurückgeben. Wenn man das vergleicht, ist das so, als würdest du alle Statistiken über deinen Morgenkaffee sammeln, zum Beispiel: wie viele Tassen du in einer Woche getrunken hast, ob du Zucker hinzugefügt hast oder wie viele Tage hintereinander du Sahne reingemacht hast.

Beispiele für Aufgaben, die Aggregatfunktionen lösen:

  • Die Gesamtanzahl der Einträge in einer Tabelle zählen.
  • Minimale oder maximale Werte in einer Zahlen-Spalte finden.
  • Werte in einer Spalte aufsummieren.
  • Alle Werte einer Spalte mitteln.
  • Einzigartige Werte herausfiltern.

Wie läuft das "unter der Haube" ab?

SQL führt eine Aggregatfunktion nach dem Auswählen der Daten im SELECT aus. Zum Beispiel, wenn du SUM() oder AVG() angibst, sammelt SQL zuerst die Daten und berechnet dann nur für die ausgewählten Zeilen.

Die wichtigsten Aggregatfunktionen in PostgreSQL

Lass uns direkt in die Praxis gehen und die Top 5 unserer Helden anschauen:

  1. COUNT() — zählt die Anzahl der Zeilen.
  2. SUM() — summiert die Werte einer Zahlen-Spalte.
  3. AVG() — berechnet den Durchschnittswert.
  4. MIN() — findet den kleinsten Wert.
  5. MAX() — findet den größten Wert.

Beispiele für die Nutzung von Aggregatfunktionen

  1. Zeilen zählen mit COUNT()

Die Funktion COUNT() erlaubt es dir, die Gesamtanzahl der Zeilen in einer Tabelle oder die Anzahl der nicht-leeren Werte in einer bestimmten Spalte zu zählen.

Beispiel: Angenommen, wir haben eine Tabelle students, die Infos über Studierende speichert:

id name age grade
1 Otto Art 20 85
2 Maria Chi 22 90
3 Alex Lin 21 78
4 Anna Song 23 NULL

Zählen wir die Gesamtanzahl der Studierenden:

SELECT 
    COUNT(*) AS total_students
FROM students;

Ergebnis:

total_students
4

Jetzt zählen wir die Anzahl der Studierenden, bei denen grade angegeben ist:

SELECT 
    COUNT(grade) AS students_with_grades
FROM students;

Ergebnis:

students_with_grades
3

Warum ist das so? Weil COUNT(column) die NULL-Werte ignoriert.

  1. Summieren mit SUM()

Die Funktion SUM() wird genutzt, um alle Werte in einer Zahlen-Spalte zu summieren.

Beispiel: Lass uns herausfinden, wie viele Punkte unsere Studierenden insgesamt gesammelt haben.

SELECT 
    SUM(grade) AS total_grades
FROM students;

Ergebnis:

total_grades
253

Hinweis: Wenn es NULL in der Spalte gibt, werden sie beim Summieren einfach ignoriert.

  1. Durchschnitt berechnen mit AVG()

Die Funktion AVG() berechnet den Durchschnitt aller Zahlenwerte in einer Spalte.

Beispiel: Lass uns den Durchschnitt der Noten der Studierenden berechnen.

SELECT 
    AVG(grade) AS average_grade
FROM students;

Ergebnis:

average_grade
84.33

Du hast vielleicht gemerkt, dass NULL wieder ignoriert werden.

  1. Minimum und Maximum mit MIN() und MAX()

Manchmal muss man den kleinsten oder größten Wert finden. Dafür gibt es MIN() und MAX().

Beispiel: Finden wir den jüngsten und den ältesten Studierenden.

SELECT 
    MIN(age) AS youngest_student, 
    MAX(age) AS oldest_student
FROM students;

Ergebnis:

youngest_student oldest_student
20 23

Mehr Details zu diesen Funktionen gibt's in den nächsten Vorlesungen.

Was ist eigentlich NULL?

Über NULL gibt's bald eine eigene Vorlesung, aber ganz kurz: NULL bedeutet, dass kein Wert vorhanden ist. Nichts. Leere. Nullik, wie er ist!

Nehmen wir an, wir haben eine Tabelle students, die Infos über Studierende speichert:

id name age grade hobbie
1 Otto Art 20 85
2 Maria Chi 22 90 Tanz
3 Alex Lin 21 78
4 Anna Song 23

Name und Alter sind immer da, aber Note und Hobby können fehlen. Wenn in einer Tabellenzelle überhaupt kein Wert steht, sagt man, dass sie NULL enthält. NULL ist keine Zahl und kein String, sondern eine spezielle Kennzeichnung, die das Fehlen eines beliebigen Wertes anzeigt.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION