Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Group By-Klausel | Gruppierung
Fortgeschrittene SQL

bookGroup By-Klausel

Willkommen zum Intermediate SQL-Kurs!

Im ersten Abschnitt befassen wir uns damit, wie wir Daten in unseren Tabellen gruppieren und aggregieren können.

Lassen Sie uns anhand eines einfachen Beispiels einer Mitarbeitertabelle verstehen, was "Daten gruppieren" bedeutet:

Gruppierung von Daten

Wir haben die Aufgabe, herauszufinden, wie viele Mitarbeiter es in jeder Abteilung gibt. Dazu gruppieren wir die Daten nach der Spalte department und verwenden die Aggregation mit der Funktion COUNT(*).

So sieht die Umsetzung aus:

123
SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
copy

Wie Sie sehen, sieht die Syntax für das Gruppieren von Daten wie folgt aus:

SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1

Hinweis

AGG_FUNC steht für Aggregatfunktionen wie MAX, MIN, COUNT usw.

Diese Syntax dient dazu, bestimmte Werte mithilfe von Aggregatfunktionen in spezifischen Spalten zu ermitteln.

Betrachten wir ein weiteres Beispiel: Wir haben die Aufgabe, die Abteilung mit dem höchsten durchschnittlichen Gehalt zu finden.

Um solche Daten abzurufen, müssen wir die Daten nach der Spalte department gruppieren und anschließend die Funktion AVG() verwenden, um das durchschnittliche Gehalt zu berechnen:

123
SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
copy

In diesem Abschnitt arbeiten wir mit der Datenbank des Montrealer Metro-Systems, die die Tabelle metro_travel_time enthält.

Diese Tabelle enthält Informationen über die Stationslinie (line_name), ihren Namen (station_name) und die Zeitdauer, die ein Zug benötigt, um von einer Station zur nächsten zu fahren (time_to_next_station).

So sieht diese Tabelle aus und hier ist eine Datenvorschau davon:

Wie Sie sehen können, handelt es sich hierbei nicht um eine komplexe Tabelle. Überlegen wir, wo wir hier Gruppierungen verwenden können.

Die naheliegendste Möglichkeit ist das Gruppieren nach den Farben der U-Bahn-Linien. Das bedeutet, wir können die Daten aggregieren, indem wir sie nach der Farbe der U-Bahn-Linie gruppieren.

Alias

In den Aufgaben werden Sie häufig ein Konzept namens Alias verwenden. Ein Alias ist im Wesentlichen ein "Spitzname" für eine Spalte, die Sie mit einer SELECT-Anweisung abrufen. Er wird mit folgender Syntax angegeben:

SELECT column AS alias

Ein Alias beeinflusst nur, wie die Spalte in der Antwort erscheint.

Zum Beispiel könnte anstelle von MAX(time) die Spalte max_time genannt werden, wenn Sie diesen Alias zuweisen. Das macht die Ausgabe lesbarer und verständlicher.

Aufgabe

Swipe to start coding

Ihre Aufgabe ist es, die längste Zeit bis zur nächsten Station auf jeder Linie zu ermitteln. Dadurch können wir die längste Fahrzeit zwischen Stationen für jede U-Bahn-Linie bestimmen. Verwenden Sie dazu die Funktion MAX() und vergeben Sie den Alias max_time, indem Sie die Daten nach der Spalte line_name gruppieren.

Kurzanleitung

  • Rufen Sie die Spalte line_name und den Maximalwert der Spalte time_to_next_station ab.
  • Vergeben Sie für den Maximalwert den Alias max_time.
  • Gruppieren Sie die Daten nach der Spalte line_name.

Nachdem Sie diese Aufgabe abgeschlossen haben, klicken Sie auf die Schaltfläche unterhalb des Codes, um Ihre Lösung zu überprüfen.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 1
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

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

close

Awesome!

Completion rate improved to 4

bookGroup By-Klausel

Swipe um das Menü anzuzeigen

Willkommen zum Intermediate SQL-Kurs!

Im ersten Abschnitt befassen wir uns damit, wie wir Daten in unseren Tabellen gruppieren und aggregieren können.

Lassen Sie uns anhand eines einfachen Beispiels einer Mitarbeitertabelle verstehen, was "Daten gruppieren" bedeutet:

Gruppierung von Daten

Wir haben die Aufgabe, herauszufinden, wie viele Mitarbeiter es in jeder Abteilung gibt. Dazu gruppieren wir die Daten nach der Spalte department und verwenden die Aggregation mit der Funktion COUNT(*).

So sieht die Umsetzung aus:

123
SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
copy

Wie Sie sehen, sieht die Syntax für das Gruppieren von Daten wie folgt aus:

SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1

Hinweis

AGG_FUNC steht für Aggregatfunktionen wie MAX, MIN, COUNT usw.

Diese Syntax dient dazu, bestimmte Werte mithilfe von Aggregatfunktionen in spezifischen Spalten zu ermitteln.

Betrachten wir ein weiteres Beispiel: Wir haben die Aufgabe, die Abteilung mit dem höchsten durchschnittlichen Gehalt zu finden.

Um solche Daten abzurufen, müssen wir die Daten nach der Spalte department gruppieren und anschließend die Funktion AVG() verwenden, um das durchschnittliche Gehalt zu berechnen:

123
SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
copy

In diesem Abschnitt arbeiten wir mit der Datenbank des Montrealer Metro-Systems, die die Tabelle metro_travel_time enthält.

Diese Tabelle enthält Informationen über die Stationslinie (line_name), ihren Namen (station_name) und die Zeitdauer, die ein Zug benötigt, um von einer Station zur nächsten zu fahren (time_to_next_station).

So sieht diese Tabelle aus und hier ist eine Datenvorschau davon:

Wie Sie sehen können, handelt es sich hierbei nicht um eine komplexe Tabelle. Überlegen wir, wo wir hier Gruppierungen verwenden können.

Die naheliegendste Möglichkeit ist das Gruppieren nach den Farben der U-Bahn-Linien. Das bedeutet, wir können die Daten aggregieren, indem wir sie nach der Farbe der U-Bahn-Linie gruppieren.

Alias

In den Aufgaben werden Sie häufig ein Konzept namens Alias verwenden. Ein Alias ist im Wesentlichen ein "Spitzname" für eine Spalte, die Sie mit einer SELECT-Anweisung abrufen. Er wird mit folgender Syntax angegeben:

SELECT column AS alias

Ein Alias beeinflusst nur, wie die Spalte in der Antwort erscheint.

Zum Beispiel könnte anstelle von MAX(time) die Spalte max_time genannt werden, wenn Sie diesen Alias zuweisen. Das macht die Ausgabe lesbarer und verständlicher.

Aufgabe

Swipe to start coding

Ihre Aufgabe ist es, die längste Zeit bis zur nächsten Station auf jeder Linie zu ermitteln. Dadurch können wir die längste Fahrzeit zwischen Stationen für jede U-Bahn-Linie bestimmen. Verwenden Sie dazu die Funktion MAX() und vergeben Sie den Alias max_time, indem Sie die Daten nach der Spalte line_name gruppieren.

Kurzanleitung

  • Rufen Sie die Spalte line_name und den Maximalwert der Spalte time_to_next_station ab.
  • Vergeben Sie für den Maximalwert den Alias max_time.
  • Gruppieren Sie die Daten nach der Spalte line_name.

Nachdem Sie diese Aufgabe abgeschlossen haben, klicken Sie auf die Schaltfläche unterhalb des Codes, um Ihre Lösung zu überprüfen.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

close

Awesome!

Completion rate improved to 4
Abschnitt 1. Kapitel 1
single

single

some-alt