Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer GROUP BY-Clausule | Groeperen
Intermediate SQL

Veeg om het menu te tonen

book
GROUP BY-Clausule

Welkom bij de Intermediate SQL cursus!

In de eerste sectie duiken we in hoe we gegevens kunnen groeperen en aggregeren binnen onze tabellen.

Laten we begrijpen wat "gegevens groeperen" betekent aan de hand van een eenvoudig voorbeeld van een werknemers tabel:

Gegevens Groeperen

We hebben een taak om het aantal werknemers in elke afdeling te achterhalen. Om dit te doen, zullen we de gegevens groeperen op de kolom department en aggregatie gebruiken met de COUNT(*) functie.

Zo ziet de implementatie eruit:

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

Dus, zoals je kunt zien, ziet de syntaxis voor het groeperen van gegevens er zo uit:

sql

Opmerking

AGG_FUNC betekent aggregatiefuncties zoals MAX, MIN, COUNT, enz.

Deze syntaxis bestaat om bepaalde waarden te vinden met behulp van aggregatiefuncties in specifieke kolommen.

Laten we een ander voorbeeld bekijken: we hebben de taak gekregen om de afdeling met het hoogste gemiddelde salaris te vinden.

Om dergelijke gegevens op te halen, moeten we de gegevens groeperen op de department kolom en vervolgens de AVG() functie gebruiken om het gemiddelde salaris te berekenen:

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

In dit deel van de sectie zullen we werken met de Montreal Metro-systeemdatabase, die de metro_travel_time tabel bevat.

Deze tabel bevat informatie over de stationlijn (line_name), de naam (station_name), en de hoeveelheid tijd die het kost voor een trein om van het ene station naar het volgende te reizen (time_to_next_station).

Hier is hoe deze tabel eruitziet en de gegevensvoorbeeld erin:

Zoals je kunt zien, is dit geen complexe tabel. Laten we nadenken over waar we hier groepering kunnen gebruiken.

De meest voor de hand liggende optie is groeperen op de kleuren van metrolijnen. Dat betekent dat we de gegevens kunnen aggregeren door ze te groeperen op de kleur van de metrolijn.

Alias

In de opdrachten gebruik je vaak een concept genaamd een alias. Een alias is in wezen een "bijnaam" voor een kolom die je ophaalt met een SELECT-verklaring. Het wordt gespecificeerd met behulp van de volgende syntaxis:

sql

Een alias beïnvloedt alleen hoe de kolom in de respons verschijnt.

Bijvoorbeeld, in plaats van MAX(time), kan de kolom max_time worden genoemd als je die alias toewijst. Dit maakt de uitvoer leesbaarder en duidelijker.

Taak

Swipe to start coding

Je taak is om de langste tijd tot het volgende station op elke lijn te vinden. Dit stelt ons in staat om de langste reistijd tussen stations voor elke metrolijn te bepalen. Gebruik hiervoor de MAX()-functie en geef het de alias max_time, waarbij je de gegevens groepeert op de kolom line_name.

Korte Instructies

  • Haal de kolom line_name en de maximale waarde van de kolom time_to_next_station op.
  • Voeg de alias max_time toe voor de maximale waarde.
  • Groepeer de gegevens op de kolom line_name.

Zodra je deze taak hebt voltooid, klik je op de knop onder de code om je oplossing te controleren.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 1

Vraag AI

expand
ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

book
GROUP BY-Clausule

Welkom bij de Intermediate SQL cursus!

In de eerste sectie duiken we in hoe we gegevens kunnen groeperen en aggregeren binnen onze tabellen.

Laten we begrijpen wat "gegevens groeperen" betekent aan de hand van een eenvoudig voorbeeld van een werknemers tabel:

Gegevens Groeperen

We hebben een taak om het aantal werknemers in elke afdeling te achterhalen. Om dit te doen, zullen we de gegevens groeperen op de kolom department en aggregatie gebruiken met de COUNT(*) functie.

Zo ziet de implementatie eruit:

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

Dus, zoals je kunt zien, ziet de syntaxis voor het groeperen van gegevens er zo uit:

sql

Opmerking

AGG_FUNC betekent aggregatiefuncties zoals MAX, MIN, COUNT, enz.

Deze syntaxis bestaat om bepaalde waarden te vinden met behulp van aggregatiefuncties in specifieke kolommen.

Laten we een ander voorbeeld bekijken: we hebben de taak gekregen om de afdeling met het hoogste gemiddelde salaris te vinden.

Om dergelijke gegevens op te halen, moeten we de gegevens groeperen op de department kolom en vervolgens de AVG() functie gebruiken om het gemiddelde salaris te berekenen:

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

In dit deel van de sectie zullen we werken met de Montreal Metro-systeemdatabase, die de metro_travel_time tabel bevat.

Deze tabel bevat informatie over de stationlijn (line_name), de naam (station_name), en de hoeveelheid tijd die het kost voor een trein om van het ene station naar het volgende te reizen (time_to_next_station).

Hier is hoe deze tabel eruitziet en de gegevensvoorbeeld erin:

Zoals je kunt zien, is dit geen complexe tabel. Laten we nadenken over waar we hier groepering kunnen gebruiken.

De meest voor de hand liggende optie is groeperen op de kleuren van metrolijnen. Dat betekent dat we de gegevens kunnen aggregeren door ze te groeperen op de kleur van de metrolijn.

Alias

In de opdrachten gebruik je vaak een concept genaamd een alias. Een alias is in wezen een "bijnaam" voor een kolom die je ophaalt met een SELECT-verklaring. Het wordt gespecificeerd met behulp van de volgende syntaxis:

sql

Een alias beïnvloedt alleen hoe de kolom in de respons verschijnt.

Bijvoorbeeld, in plaats van MAX(time), kan de kolom max_time worden genoemd als je die alias toewijst. Dit maakt de uitvoer leesbaarder en duidelijker.

Taak

Swipe to start coding

Je taak is om de langste tijd tot het volgende station op elke lijn te vinden. Dit stelt ons in staat om de langste reistijd tussen stations voor elke metrolijn te bepalen. Gebruik hiervoor de MAX()-functie en geef het de alias max_time, waarbij je de gegevens groepeert op de kolom line_name.

Korte Instructies

  • Haal de kolom line_name en de maximale waarde van de kolom time_to_next_station op.
  • Voeg de alias max_time toe voor de maximale waarde.
  • Groepeer de gegevens op de kolom line_name.

Zodra je deze taak hebt voltooid, klik je op de knop onder de code om je oplossing te controleren.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 1
Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?
some-alt