comprendre les fonctions d'agrégation

Février 2011


Précédent

Table des matières

Suivant


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),
  Avg(POP2001), Sum(POP2001), Count(*)
FROM com2001_s;

Cette requête retourne une seule ligne, représentant une sorte de résumé de toute la table:

SELECT COD_PRO, Min(POP2001), Max(POP2001),
  Avg(POP2001), Sum(POP2001), Count(*)
FROM com2001_s
GROUP BY COD_PRO;

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),
  Avg(POP2001), Sum(POP2001), Count(*)
FROM com2001_s
GROUP BY COD_REG;

La même chose, mais en groupant par COD_REG (régions).



SELECT DISTINCT COD_REG, COD_PRO
FROM com2001_s
ORDER BY 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:

Précédent

Table des matières

Suivant


Author: Alessandro Furieri a.furieri@lqt.it
Traduced from English by RIVIERE Romain

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
GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.