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

Herausforderung: Group By-Klausel

Prerequisites
Voraussetzungen

Willkommen zum Intermediate SQL-Kurs!

Im ersten Abschnitt geht es darum, wie Daten in Tabellen gruppiert und aggregiert werden können.

Hier ein Beispiel, was 'Gruppierung von Daten' bedeutet, anhand einer einfachen Mitarbeitertabelle:

Gruppierung von Daten

Aufgabe: Ermittlung der Anzahl der Mitarbeiter in jeder Abteilung. Dazu werden die Daten nach der Spalte department gruppiert und mit der Aggregatfunktion COUNT(*) ausgewertet.

Die Umsetzung sieht folgendermaßen aus:

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

Wie zu sehen ist, sieht die Syntax für die Gruppierung von Daten folgendermaßen aus:

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

AGG_FUNC bezeichnet Aggregatfunktionen wie MAX, MIN, COUNT usw.

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

Ein weiteres Beispiel: Die Aufgabe besteht darin, die Abteilung mit dem höchsten durchschnittlichen Gehalt zu finden.

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

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

In diesem Abschnitt arbeitest du mit der Montreal Metro Systemdatenbank, die die Tabelle metro_travel_time enthält.

Diese Tabelle enthält Informationen über die U-Bahn-Linie (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).

Hier siehst du, wie diese Tabelle aussieht und eine Datenvorschau davon:

Wie du siehst, ist dies keine komplexe Tabelle. Überlege, wo wir hier Gruppierungen verwenden können.

Die naheliegendste Möglichkeit ist Gruppierung 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 wirst du häufig ein Konzept namens Alias verwenden. Ein Alias ist im Wesentlichen ein "Spitzname" für eine Spalte, die du mit einer SELECT-Anweisung abrufst. Er wird mit folgender Syntax angegeben:

SELECT column AS alias

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

Zum Beispiel könnte die Spalte anstelle von MAX(time) als max_time bezeichnet werden, wenn du diesen Alias zuweist. Dies macht die Ausgabe lesbarer und verständlicher.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 1
single

single

Herausforderung: Group By-Klausel

Swipe um das Menü anzuzeigen

Prerequisites
Voraussetzungen

Willkommen zum Intermediate SQL-Kurs!

Im ersten Abschnitt geht es darum, wie Daten in Tabellen gruppiert und aggregiert werden können.

Hier ein Beispiel, was 'Gruppierung von Daten' bedeutet, anhand einer einfachen Mitarbeitertabelle:

Gruppierung von Daten

Aufgabe: Ermittlung der Anzahl der Mitarbeiter in jeder Abteilung. Dazu werden die Daten nach der Spalte department gruppiert und mit der Aggregatfunktion COUNT(*) ausgewertet.

Die Umsetzung sieht folgendermaßen aus:

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

Wie zu sehen ist, sieht die Syntax für die Gruppierung von Daten folgendermaßen aus:

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

AGG_FUNC bezeichnet Aggregatfunktionen wie MAX, MIN, COUNT usw.

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

Ein weiteres Beispiel: Die Aufgabe besteht darin, die Abteilung mit dem höchsten durchschnittlichen Gehalt zu finden.

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

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

In diesem Abschnitt arbeitest du mit der Montreal Metro Systemdatenbank, die die Tabelle metro_travel_time enthält.

Diese Tabelle enthält Informationen über die U-Bahn-Linie (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).

Hier siehst du, wie diese Tabelle aussieht und eine Datenvorschau davon:

Wie du siehst, ist dies keine komplexe Tabelle. Überlege, wo wir hier Gruppierungen verwenden können.

Die naheliegendste Möglichkeit ist Gruppierung 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 wirst du häufig ein Konzept namens Alias verwenden. Ein Alias ist im Wesentlichen ein "Spitzname" für eine Spalte, die du mit einer SELECT-Anweisung abrufst. Er wird mit folgender Syntax angegeben:

SELECT column AS alias

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

Zum Beispiel könnte die Spalte anstelle von MAX(time) als max_time bezeichnet werden, wenn du diesen Alias zuweist. Dies macht die Ausgabe lesbarer und verständlicher.

Aufgabe

Wischen, um mit dem Codieren zu beginnen

Ihre Aufgabe besteht darin, die längste Zeit bis zur nächsten Station auf jeder Linie zu ermitteln. Dies hilft dabei, die längste Fahrzeit zwischen Stationen für jede U-Bahn-Linie zu bestimmen. Verwenden Sie dazu die Funktion MAX() und vergeben Sie das Alias max_time, wobei 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 aus der Tabelle metro_travel_time ab.
  • Vergeben Sie für den Maximalwert das Alias max_time.
  • Gruppieren Sie die Daten nach der Spalte line_name.

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!

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

some-alt