L2 Info : Bases de données
 
◃  Ch. 2 Interrogation des données avec SQL (DQL)  ▹
 

Fonctions d'agrégation

  • 5 fonctions permettent d'opérer sur des groupes de plusieurs lignes :
    • SUM() : somme des valeurs de l'argument (en général une colonne)
    • AVG() : moyenne d'une colonne
    • MAX() : maximum d'une colonne
    • MIN() : minimum d'une colonne
    • COUNT() : décompte le nombre distinct d'un tuple ou d'un attribut
  • Par défaut, l'ensemble des lignes retournées par la requête est considéré
  • Les fonctions SUM() et AVG() doivent être appliquées à des attributs numériques
  • Exemples :
    SELECT COUNT(*) FROM professeur;
     count 
    -------
         6
    (1 row)
    
    SELECT COUNT(*) FROM professeur WHERE prof_statut <> 'MCF';
     count 
    -------
         0
    (1 row)
    
    SELECT COUNT(prof_tel) FROM professeur;
     count
    -------
         3
    (1 row)
    
    SELECT MIN(etud_naissance) FROM etudiant;
     min
    ----------
    1865-04-01
    (1 row)
    
    SELECT AVG(etud_naissance) FROM etudiant
    [42883] ERROR: function avg(date) does not exist
    Indice : No function matches the given name and argument types.
    You might need to add explicit type casts.