Les fonctions d’agrégation sont des fonctions mathématiques qui font partie du langage SQL.

Database schema

Figure 5.1 : schéma de base de données

1. Somme

Supposons que nous aimerions obtenir le nombre total d’enfants qu’ont les employés qui travaillent actuellement pour l’entreprise.

SELECT SUM(emp.Kids_number) AS NbEnfants
FROM Employee AS emp
WHERE emp.End IS NULL

On obtient le tableau suivant.

{{h}}
{{r}}

2. Moyenne (average)

Supposons que nous aimerions obtenir le salaire moyen de l’ensemble des employés qui travaillent actuellement pour l’entreprise.

SELECT AVG(emp.Salary) AS SalaireMoyen
FROM Employee AS emp
WHERE emp.End IS NULL

On obtient le tableau suivant.

{{h}}
{{r}}

3. Compteur

Supposons que nous aimerions obtenir le nombre de départements qu’a l’entreprise.

SELECT COUNT(dep.ID) AS NbDepartements
FROM Department AS dep 

On obtient le tableau suivant.

{{h}}
{{r}}

Récap

Nous savons maintenant utiliser les fonctions d’agrégation. MAX() et MIN() fonctionnent de la même manière. MAX() donne la valeur maximale d’une colonne et MIN() la valeur minimale. Le paramètre de la fonction est la colonne sur laquelle on désire faire le calcul.

Les débutants confondent parfois SUM() et COUNT(). La première calcule la somme des valeurs dans une colonne donnée. La seconde compte le nombre d’enregistrements ayant une valeur non NULL dans une colonne donnée.

En ce qui concerne COUNT(), la plupart du temps on veut le nombre d’enregistrements qu’a une table, on peut donc omettre la colonne :

SELECT COUNT(*) AS NbDepartements
FROM Department AS dep