Les fonctions d’agrégation dans le langage SQL permettent d’effectuer des opérations statistiques sur un ensemble d’enregistrement. Étant données que ces fonctions s’appliquent à plusieurs lignes en même temps, elle permettent des opérations qui servent à récupérer l’enregistrement le plus petit, le plus grand ou bien encore de déterminer la valeur moyenne sur plusieurs enregistrement.
Liste des fonctions d’agrégation statistiques
Les fonctions d’agrégation sont des fonctions idéales pour effectuer quelques statistiques de bases sur des tables. Les principales fonctions sont les suivantes :
- AVG() pour calculer la moyenne sur un ensemble d’enregistrement
- COUNT() pour compter le nombre d’enregistrement sur une table ou une colonne distincte
- MAX() pour récupérer la valeur maximum d’une colonne sur un ensemble de ligne. Cela s’applique à la fois pour des données numériques ou alphanumérique
- MIN() pour récupérer la valeur minimum de la même manière que MAX()
- SUM() pour calculer la somme sur un ensemble d’enregistrement
Utilisation simple
L’utilisation la plus générale consiste à utiliser la syntaxe suivante :
SELECT fonction(colonne) FROM table
La fonction COUNT() possède une subtilité. Pour compter le nombre total de ligne d’une table, il convient d’utiliser l’étoile “*” qui signifie que l’ont cherche à compter le nombre d’enregistrement sur toutes les colonnes. La syntaxe serait alors la suivante :
SELECT COUNT(*) FROM table
Utilisation avec GROUP BY
Toutes ces fonctions prennent tout leur sens lorsqu’elles sont utilisée avec la commande GROUP BY qui permet de filtrer les données sur une ou plusieurs colonnes. Imaginons une table qui contient tout les achats sur un site avec le montant de chaque achat pour chaque enregistrement. Pour obtenir le total des ventes par clients, il est possible d’exécuter la requête suivante :
SELECT client, SUM(tarif) FROM achat GROUP BY client
Le résultat sera le suivant :
client | SUM(tarif) |
---|---|
Pierre | 262 |
Simon | 47 |
Marie | 38 |