Ga naar inhoud

Header

Groeperen met GROUP BY - Opdrachten

1. Groeperen op voornaam van acteurs

Maak de volgende query af om op de voornaam van acteurs (kolom first_name) uit tabel actors te groeperen.

Tel daarbij het aantal rijen.

Hiermee krijg je te zien hoeveel acteurs er met een bepaalde voornaam zijn.

  • Gebruik het GROUP BY statement om te groeperen.
  • Gebruik de COUNT() functie om het aantal rijen te tellen.
SELECT
  ...,
  ...(*)
FROM
  ...
...
  ...;




2. Hernoemen van een kolom

In de vorige opdracht hebben we bepaald hoe vaak een bepaalde voornaam voorkomt in tabel actors.

Vanuit GROUP BY en COUNT() krijgt de nieuwe kolom standaard de naam count.

Dit gaan we aanpassen, door de kolom te hernoemen.

  • Hergebruik je code uit de vorige opdracht.
  • Hernoem de colom count naar first_name_count.
  • Maak gebruik van het AS statement.
SELECT
  ...,
  ...(*) ... ...
FROM
  ...
...
  ...;




3. Sorteren na groeperen

In de vorige opdrachten hebben we bepaald hoe vaak een bepaalde voornaam voorkomt in tabel actors, en hebben we de kolomnaam veranderd.

Je kunt nog niet zo makkelijk zien welke voornaam het vaakst voorkomt. Dit omdat er nog niet gesorteerd is.

Dit gaan we verbeteren, door op kolom first_name_count te sorteren.

  • Hergebruik je code uit de vorige opdracht.
  • Sortereer aflopend op kolom first_name_count.
    • Gebruik hiervoor het ORDER BY statement.

Welke naam komt het vaakst voor?

SELECT
  ...,
  ...(*) ... ...
FROM
...
  ...
...
  COUNT(*) ...;




4. Filteren na groeperen

Tot nu toe hebben we gedaan: * Groeperen op kolom first_name. * Kolomnaam count aanpassen naar first_name_count. * Aflopend sorteren op de nieuwe kolom.

We gaan nu een filter toepassen na het sorteren. Zodat alleen namen die vaker dan 10 keer voorkomen getoond worden.

  • Hergebruik je code uit de vorige opdracht.
  • Filter op de nieuwe kolom.
    • Gebruik het HAVING statement.
      • Let op dat je dit op de juiste plaats toepast.
SELECT
  ...,
  ...(*) ... ...
FROM
  ...
...
  ...
...
  COUNT(*) > ...
...
  COUNT(*) ...;




5. (Extra) Groeperen op voornaam en geslacht

Tot nu toe hebben we voor zowel vrouwelijke als mannelijke acteurs gegroepeerd op voornaam. Dit zonder onderscheid te maken.

Schrijf nu een query waarmee je naast op kolom first_name, ook op kolom gender te groeperen.

  • Selecteer bestaande kolommen first_name en gender.
  • Groepeer op kolommen first_name en gender.
  • Tel het aantal rijen met COUNT(*)
  • Sorteer:
    • Op de nieuwe kolom, aflopend.
    • Op gender, oplopend.

...



6. (Extra) Meestvoorkomende vrouwelijke voornamen

Tot nu toe hebben we voor zowel vrouwelijke als mannelijke acteurs gegroepeerd op voornaam.

Schrijf nu een query waarmee je de top 10 meest voorkomende vrouwelijke voornamen verkrijgt.

...