Direct naar de hoofdinhoud
Module 2 · Les 4 van 48/57 in de cursus~8 min
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 (negeer NULL).
  • MAX(column) / MIN(column) — de maximum-/minimumwaarde.
  • SUM(column) — de som van numerieke waarden.
SQL
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.

SQL
-- Stipendio medio dei soli dipendenti del Marketing (department_id = 3):
SELECT AVG(salary)
FROM employees
WHERE department_id = 3;

Probeer het

Oefening#sql.m2.l4.e1
Pogingen: 0Laden…

Hoeveel medewerkers zijn er sinds 1 januari 2020 in dienst genomen? Retourneert één getal (één rij, één kolom).

Editor laden…
Toon hint

De functie die rijen telt is COUNT(*).

Oplossing beschikbaar na 3 pogingen

Oefening beoordelen

Oefening#sql.m2.l4.e2
Pogingen: 0Laden…

Bereken in één zoekopdracht het gemiddelde (AVG) en maximale (MAX) salaris van werknemers in Marketing (department_id = 3). Eén rij, twee kolommen.

Editor laden…
Toon hint

U kunt meerdere aggregatiefuncties in dezelfde SELECT plaatsen, gescheiden door komma's.

Oplossing beschikbaar na 3 pogingen