Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Aggregation und Gruppierung in SQL | Working With Data
Databricks-Grundlagen: Ein Leitfaden für Einsteiger

Aggregation und Gruppierung in SQL

Swipe um das Menü anzuzeigen

Note
Definition

SQL-Aggregation verwendet die GROUP BY-Klausel, um Rohdaten in zusammenfassende Zeilen anzuordnen. Mit Funktionen wie SUM(), AVG() und COUNT() lassen sich Millionen von Zeilen direkt in einer SQL-Zelle in aussagekräftige Geschäftskennzahlen umwandeln.

Für viele ist SQL die natürlichste Sprache zur Datenzusammenfassung. Die Syntax ist sehr gut lesbar und folgt einem logischen Ablauf: Kategorien auswählen, Berechnungen bestimmen und Gruppen definieren. In diesem Kapitel wird die zuvor erstellte temporäre Ansicht verwendet, um die gleichen Aggregationen wie in Python durchzuführen – jedoch mit der Einfachheit von SQL.

Die GROUP BY-Klausel

In SQL muss jede Spalte, die nicht "mathematisch zusammengefasst" wird, in der GROUP BY-Anweisung am Ende der Abfrage enthalten sein. Dies teilt der SQL-Engine genau mit, wie die Daten aufgeteilt werden sollen.

SELECT cut, COUNT(*) 
FROM diamond_view
GROUP BY cut

Verwendung integrierter Aggregatfunktionen

SQL stellt mehrere Standardfunktionen zur Verfügung, um Berechnungen für numerische Spalten durchzuführen:

  • SUM(): summiert alle Werte in der Spalte;
  • AVG(): berechnet den Mittelwert/Durchschnitt;
  • MIN() / MAX(): findet den niedrigsten oder höchsten Wert;
  • COUNT(): gibt die Anzahl der Zeilen zurück.
%sql
SELECT 
  cut, 
  SUM(x), 
  AVG(y)
FROM diamond_view
GROUP BY cut

Aliasnamen für professionelle Berichte

Standardmäßig benennt SQL die Ergebnisspalten beispielsweise als sum(Total_Profit). Um die Ausgabe für ein Business-Dashboard vorzubereiten, kann das AS-Schlüsselwort verwendet werden, um diese Spalten aussagekräftiger zu benennen.

%sql
SELECT 
  cut, 
  SUM(x) AS Total_Length,
  MAX(y) AS Highest_Diamond_Value
FROM diamond_view
GROUP BY cut

Filtern aggregierter Daten: Die HAVING-Klausel

Ein häufiger Fehler ist der Versuch, ein aggregiertes Ergebnis mit WHERE zu filtern. In SQL filtert WHERE einzelne Zeilen, bevor sie gruppiert werden. Wenn die Ergebnisse nach der Aggregation gefiltert werden sollen (zum Beispiel, um nur Regionen mit mehr als $1.000.000 Gewinn anzuzeigen), muss die HAVING-Klausel verwendet werden.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
HAVING Total_Length > 4000

Sortieren der Zusammenfassung

Zur Hervorhebung von Erkenntnissen stets ORDER BY verwenden. Dies ermöglicht die Sortierung der Ergebnisse, beispielsweise um die profitabelsten Regionen oben in der Tabelle anzuzeigen.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
ORDER BY Total_Length DESC
question mark

Welche SQL-Klausel ist erforderlich, um Zusammenfassungszeilen bei der Verwendung von Aggregatfunktionen wie SUM() oder AVG() zu erstellen?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 7

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 4. Kapitel 7
some-alt