Exemple de fonctions d'agrégation

Schéma relationnel

country(#countrycode:char(2), name:varchar, population:numeric) 
city(#code:char(3), countrycode=>country, name:varchar, population:numeric):

Exemple d'attribut d'agrégation

Agrégat avec un attribut d'agrégation et une fonction d'agrégation

Requête sans agrégat

SELECT countrycode, citycode  
FROM city;
 countrycode | citycode 
-------------+----------
 ES          | BAR
 ES          | MAD
 ES          | ZAR
 FR          | PAR
 FR          | LYO
 FR          | LLL
 FR          | AMN

Requête avec agrégat

  • Sélectionne les countrycode et les citycode existants dans la table city,

  • puis agrège par valeurs distinctes de countrycode.

SELECT countrycode, count(citycode)  
FROM city
GROUP BY countrycode;
 countrycode | count 
-------------+-------
 FR          |     4
 ES          |     3

Agrégat avec un attribut d'agrégation et deux fonctions d'agrégation

SELECT countrycode, citycode, population  
FROM city;
 countrycode | citycode | population 
-------------+----------+------------
 ES          | BAR      |        1.9
 ES          | MAD      |        3.3
 ES          | ZAR      |        0.7
 FR          | PAR      |        2.2
 FR          | LYO      |        0.5
 FR          | LLL      |        0.2
 FR          | AMN      |        0.1

Requête avec agrégat

SELECT countrycode, count(citycode), sum(population)  
FROM city
GROUP BY countrycode;
 countrycode | count | sum 
-------------+-------+-----
 FR          |     4 | 3.0
 ES          |     3 | 5.9

Agrégat sans attribut d'agrégation et avec une fonction d'agrégation

Requête sans agrégat

SELECT population  
FROM city;
 population 
------------
        1.9
        3.3
        0.7
        2.2
        0.5
        0.2
        0.1

Requête avec agrégat

SELECT avg(population)  
FROM city;
        avg         
--------------------
 1.2714285714285714
AccueilCours > LMD (agrégat) > Exemple de fonctions d'agrégation< PrécédentSuivant >