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
course content

Kursinhalt

Fortgeschrittene SQL

Fortgeschrittene SQL

1. Gruppierung
2. Verschachtelte Unterabfragen
3. Tabellen Verbinden
4. DDL und DML in SQL

book
Group by-Klausel

Willkommen zum Intermediate SQL Kurs!

Im ersten Abschnitt tauchen wir ein in die Möglichkeiten, unsere Daten in Tabellen zu gruppieren und zu aggregieren.

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

Gruppierung von Daten

Wir haben die Aufgabe, die Anzahl der Mitarbeiter in jeder Abteilung zu ermitteln. Dazu gruppieren wir die Daten nach der Spalte department und verwenden die Aggregationsfunktion COUNT(*).

So wird die Implementierung aussehen:

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

Wie Sie sehen können, sieht die Syntax zum Gruppieren von Daten so aus:

Hinweis

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

Diese Syntax existiert, um bestimmte Werte unter Verwendung von Aggregatfunktionen in bestimmten Spalten zu finden.

Betrachten wir ein weiteres Beispiel: Wir wurden beauftragt, die Abteilung mit dem höchsten Durchschnittsgehalt zu finden.

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

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

In diesem Abschnitt arbeiten wir mit der Montreal Metro System Datenbank, die die metro_travel_time-Tabelle enthält.

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

So sieht diese Tabelle aus und hier ist eine Datenvorschau:

Wie Sie sehen können, ist dies keine komplexe Tabelle. Lassen Sie uns überlegen, wo wir hier Gruppierung einsetzen können.

Die offensichtlichste Option ist Gruppierung nach den Farben der Metro-Linien. Das bedeutet, dass wir die Daten aggregieren können, indem wir sie nach der Farbe der Metro-Linie gruppieren.

Alias

In den Aufgaben werden Sie häufig ein Konzept verwenden, das als Alias bezeichnet wird. Ein Alias ist im Wesentlichen ein „Spitzname“ für eine Spalte, die Sie mit einer SELECT-Anweisung abrufen. Er wird mit der folgenden Syntax angegeben:

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. Dies macht die Ausgabe lesbarer und klarer.

Aufgabe

Swipe to start coding

Deine Aufgabe besteht darin, die längste Zeit bis zur nächsten Station auf jeder Linie zu finden. Dadurch können wir die längste Reisezeit zwischen den Stationen für jede U-Bahn-Linie ermitteln. Verwende dazu die MAX() Funktion und weise ihr das Alias max_time zu, indem du die Daten nach der Spalte line_name gruppierst.

Kurze Anweisungen

  • Rufe die Spalte line_name und den maximalen Wert der Spalte time_to_next_station ab.
  • Füge den Alias max_time für den maximalen Wert hinzu.
  • Gruppiere die Daten nach der Spalte line_name.

Sobald du diese Aufgabe abgeschlossen hast, klicke auf den Button unter dem Code, um deine 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!

Abschnitt 1. Kapitel 1
toggle bottom row

book
Group by-Klausel

Willkommen zum Intermediate SQL Kurs!

Im ersten Abschnitt tauchen wir ein in die Möglichkeiten, unsere Daten in Tabellen zu gruppieren und zu aggregieren.

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

Gruppierung von Daten

Wir haben die Aufgabe, die Anzahl der Mitarbeiter in jeder Abteilung zu ermitteln. Dazu gruppieren wir die Daten nach der Spalte department und verwenden die Aggregationsfunktion COUNT(*).

So wird die Implementierung aussehen:

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

Wie Sie sehen können, sieht die Syntax zum Gruppieren von Daten so aus:

Hinweis

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

Diese Syntax existiert, um bestimmte Werte unter Verwendung von Aggregatfunktionen in bestimmten Spalten zu finden.

Betrachten wir ein weiteres Beispiel: Wir wurden beauftragt, die Abteilung mit dem höchsten Durchschnittsgehalt zu finden.

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

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

In diesem Abschnitt arbeiten wir mit der Montreal Metro System Datenbank, die die metro_travel_time-Tabelle enthält.

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

So sieht diese Tabelle aus und hier ist eine Datenvorschau:

Wie Sie sehen können, ist dies keine komplexe Tabelle. Lassen Sie uns überlegen, wo wir hier Gruppierung einsetzen können.

Die offensichtlichste Option ist Gruppierung nach den Farben der Metro-Linien. Das bedeutet, dass wir die Daten aggregieren können, indem wir sie nach der Farbe der Metro-Linie gruppieren.

Alias

In den Aufgaben werden Sie häufig ein Konzept verwenden, das als Alias bezeichnet wird. Ein Alias ist im Wesentlichen ein „Spitzname“ für eine Spalte, die Sie mit einer SELECT-Anweisung abrufen. Er wird mit der folgenden Syntax angegeben:

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. Dies macht die Ausgabe lesbarer und klarer.

Aufgabe

Swipe to start coding

Deine Aufgabe besteht darin, die längste Zeit bis zur nächsten Station auf jeder Linie zu finden. Dadurch können wir die längste Reisezeit zwischen den Stationen für jede U-Bahn-Linie ermitteln. Verwende dazu die MAX() Funktion und weise ihr das Alias max_time zu, indem du die Daten nach der Spalte line_name gruppierst.

Kurze Anweisungen

  • Rufe die Spalte line_name und den maximalen Wert der Spalte time_to_next_station ab.
  • Füge den Alias max_time für den maximalen Wert hinzu.
  • Gruppiere die Daten nach der Spalte line_name.

Sobald du diese Aufgabe abgeschlossen hast, klicke auf den Button unter dem Code, um deine 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!

Abschnitt 1. Kapitel 1
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
We're sorry to hear that something went wrong. What happened?
some-alt