Modulelessen (4/4)
Tellen en samenvatten: COUNT, AVG, MAX
Tot nu toe retourneerde elke SELECT één rij voor elke rij van de tabel.
Aggregatiefuncties doen het tegenovergestelde: ze lezen veel rijen en komen terug
één enkele waarde die ze samenvat.
De meest voorkomende zijn:
COUNT(*)— hoeveel rijen er zijn.AVG(column)— het gemiddelde van numerieke waarden (negeerNULL).MAX(column)/MIN(column)— de maximum-/minimumwaarde.SUM(column)— de som van numerieke waarden.
SELECT COUNT(*),
AVG(salary),
MAX(salary)
FROM employees;Wanneer de aggregatie wordt toegepast op de hele tabel (zonder GROUP BY, welke
je zult zien in de volgende module) het resultaat is een enkele rij, hoe dan ook
van hoeveel rijen de brontabel heeft.
Combineren met WAAR
WHERE filtert voor aggregatie: de aggregatie werkt alleen op de rijen
die door het filter is gegaan.
-- Stipendio medio dei soli dipendenti del Marketing (department_id = 3):
SELECT AVG(salary)
FROM employees
WHERE department_id = 3;Probeer het
Hoeveel medewerkers zijn er sinds 1 januari 2020 in dienst genomen? Retourneert één getal (één rij, één kolom).
Toon hint
De functie die rijen telt is COUNT(*).
Oplossing beschikbaar na 3 pogingen
Oefening beoordelen
Bereken in één zoekopdracht het gemiddelde (AVG) en maximale (MAX) salaris van werknemers in Marketing (department_id = 3). Eén rij, twee kolommen.
Toon hint
U kunt meerdere aggregatiefuncties in dezelfde SELECT plaatsen, gescheiden door komma's.
Oplossing beschikbaar na 3 pogingen