comprendre les fonctions d'agrégation |
|
Février 2011 |
On a vu jusqu'à maintenant comment
SQL permettait de récupérer des valeurs uniques à partir d'une
recherche ligne par ligne.
Une autre approche est possible,
permettant de traiter l'ensemble des données de la
table, ou des groupes de lignes sélectionnées.
Ceci implique
d'utiliser des fonctions spéciales, appelées fonctions
d'agrégation.
SELECT Min(POP2001),
Max(POP2001), |
Cette requête retourne une seule ligne, représentant une sorte de résumé de toute la table:
la fonction Min() retourne la valeur minimale trouvée dans la colonne spécifiée
la fonction Max() retourne la valeur maximale trouvée dans la colonne spécifiée
la fonction Avg() retourne la valeur moyenne de la colonne spécifiée
la fonction Sum() retourne la somme de la colonne spécifiée
la fonction Count() retourne le nombre de lignes trouvées dans la colonne spécifiée
SELECT COD_PRO,
Min(POP2001), Max(POP2001), |
Vous pouvez utiliser la clause GROUP
BY pour mettre en place des sous groupes .
Cette
requête va lister un résumé pour chaque COD_PRO (pays).
SELECT COD_REG,
Min(POP2001), Max(POP2001), |
La même chose, mais en groupant par COD_REG (régions).
SELECT DISTINCT COD_REG,
COD_PRO |
Il existe une autre manière de grouper les résultats: c.-à-d.
en utilisant la clause DISTINCT.
Attention: cette écriture n'est pas exactement la même
chose que GROUP BY:
DISTINCT supprime simplement les lignes en double, mais ne permet pas d'agrégations.
GROUP BY est absolument nécessaire à chaque fois que vous voulez effectuer une agrégation propre et contrôlée.
|
Author: Alessandro Furieri a.furieri@lqt.it |
This work is licensed under the Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license. |
|
|
|
Permission is granted to copy, distribute and/or modify this
document under the terms of the |