
Aggregeren - Opdrachten
1. Aantal acteurs naar geslacht
Maak de volgende query af om het aantal acteur naar geslacht te verkrijgen.
- Haal data op uit tabel
actors. - Groepeer op kolom
gendermetGROUP BY. - Selecteer kolom
gender, en tel het aantal rijen met functieCOUNT().
| gender | count |
|---|---|
| M | 1464 |
| F | 443 |
2. Gemiddeld aantal films
Maak de volgende query af om ook het gemiddelde aantal films te berekenen van acteurs van een bepaald geslacht.
- Hergebruik je code uit de vorige opdracht.
- Haal data op uit tabel
actors. - Groepeer op kolom
gendermetGROUP BY. - Selecteer/bereken kolommen:
- Geslacht:
gender - Tel het aantal rijen met functie
COUNT(). - Bereken het gemiddelde aantal flms met
AVG().- Geef deze kolom met
ASde naamfilm_count_avg.
- Geef deze kolom met
- Geslacht:
| gender | count | film_count_avg |
|---|---|---|
| M | 1464 | 1.0484972677595628 |
| F | 443 | 1.0248306997742664 |
3. Grootste aantal films
Maak de volgende query af om ook het grootste aantal films te berekenen van een acteur van een bepaald geslacht.
- Hergebruik je code uit de vorige opdracht.
- Haal data op uit tabel
actors. - Groepeer op kolom
gendermetGROUP BY. - Selecteer/bereken kolommen:
- Geslacht:
gender - Tel het aantal rijen met functie
COUNT(). - Bereken het gemiddelde aantal films met
AVG().- Geef deze kolom met
ASde naamfilm_count_avg.
- Geef deze kolom met
- Vind het grootste aantal films met
MAX().- Geef deze kolom met
ASde naamfilm_count_max.
- Geef deze kolom met
- Geslacht:
SELECT
gender,
COUNT(*),
AVG(film_count) AS film_count_avg,
MAX(film_count) AS film_count_max
FROM
actors
GROUP BY
gender;
| gender | count | film_count_avg | film_count_max |
|---|---|---|---|
| M | 1464 | 1.0484972677595628 | 9 |
| F | 443 | 1.0248306997742664 | 3 |
4. (Extra) Lengte van namen
Maak de volgende query af om ook de gemiddelde lengte (aantal tekens) van voornamen van acteurs per geslacht te berekenen.
- Hergebruik je code uit de vorige opdracht.
- Bereken de gemiddelde lengte van voornamen, kolom
first_name.- Gebruik de
AVG()enLENGTH()functies. - Noem de nieuwe kolom
first_name_avg.
- Gebruik de
- Welk geslacht heeft gemiddeld de langste voornaam?
SELECT
gender,
COUNT(*),
AVG(film_count) AS film_count_avg,
MAX(film_count) AS film_count_max,
AVG(LENGTH(first_name)) AS first_name_avg
FROM
actors
GROUP BY
gender;
| gender | count | film_count_avg | film_count_max | first_name_avg |
|---|---|---|---|---|
| M | 1464 | 1.0484972677595628 | 9 | 6.4699453551912568 |
| F | 443 | 1.0248306997742664 | 3 | 6.8442437923250564 |
5. (Extra) Aantal acteurs met naam van bepaalde lengte
Maak de volgende query af om:
- Te groeperen op de lengte van voornamen van acteurs.
- Als kolommen te selecteren/berekenen:
- Lengte (aantal karakters) van voornamen van acteurs.
- Het aantal rijen (aantal acteurs met een voornaam van een bepaalde lengte).
- Sorteer op de lengte (aantal karakters) van voornamen van acteurs.
SELECT
LENGTH(first_name) as first_name_length,
COUNT(*)
FROM
actors
GROUP BY
LENGTH(first_name)
ORDER BY
first_name_length;
| first_name_length | count |
|---|---|
| 2 | 12 |
| 3 | 146 |
| 4 | 296 |
| 5 | 365 |
| ... | ... |