Informatie over groepen

← Terug naar overzicht

Aggregatiefuncties

Met aggregatiefuncties haal je informatie op over groepen rijen, in plaats van individuele rijen.

SELECT MIN(age) FROM animals WHERE color = 'red'

Dit geeft de leeftijd van het jongste rode dier.

Oefening 1

Hoe oud zijn de dieren op de boerderij gemiddeld? Tabel: animals, kolom: age.

Jouw code:

Oefening 2

De boer wil weten hoeveel dieren hij in totaal heeft. Tabel: animals.

Jouw code:

Oefening 3

Hoe oud is het oudste groene dier? Tabel: animals, kolommen: age, color.

Jouw code:

Oefening 4

Als je alle leeftijden van de kippen bij elkaar optelt, wat krijg je dan? Tabel: animals, kolommen: age, animaltype.

Jouw code:

GROUP BY

Met GROUP BY groepeer je de resultaten per unieke waarde in een kolom. Dit gebruik je samen met aggregatiefuncties om informatie per groep op te vragen.

SELECT color, AVG(age)
FROM animals
GROUP BY color

Dit geeft de gemiddelde leeftijd per kleur dier.

Oefening 5

De boer wil weten hoeveel dieren hij per soort heeft. Toon het diersoort en het aantal. Tabel: animals, kolom: animaltype.

Jouw code:

Oefening 6

Wie van de eigenaren heeft gemiddeld de oudste dieren? Toon per eigenaar de gemiddelde leeftijd. Tabel: animals, kolommen: owner, age.

Jouw code:

Oefening 7

Wat is per kleur de leeftijd van het oudste dier? Toon de kleur en de maximale leeftijd. Tabel: animals.

Jouw code:

HAVING

Met HAVING filter je op het resultaat van een aggregatiefunctie. Het verschil met WHERE: WHERE filtert individuele rijen voor het groeperen, HAVING filtert groepen na het groeperen.

SELECT owner, COUNT(*) AS aantal
FROM animals
GROUP BY owner
HAVING COUNT(*) > 3

Dit toont alleen eigenaren die meer dan 3 dieren hebben.

Let op: In de HAVING-clause moet je de aggregatiefunctie herhalen (bijv. HAVING COUNT(*) > 3), niet de alias gebruiken.

Oefening 8

Welke diersoorten komen meer dan 4 keer voor op de boerderij? Toon het type en het aantal. Tabel: animals.

Jouw code:

Oefening 9

Welke eigenaren hebben gemiddeld oude dieren (gemiddelde leeftijd hoger dan 6)? Toon de eigenaar en het gemiddelde. Tabel: animals.

Jouw code:

Oefening 10

Je wilt weten welke kleuren populair zijn bij de grotere dieren. Toon de kleuren die bij meer dan 2 dieren voorkomen, maar tel alleen dieren mee die niet 'small' zijn. Tabel: animals.

Jouw code: