L3 Info : SGBD
 
◃  Ch. 10 SQL : DQL (Algèbre relationnel et SQL)  ▹
 

Fonctions d'agrégation: le retour

  • SUM, AVG, COUNT, MIN, MAX ne sont pas les seules fonctions d'agrégation disponibles...
  • Chaque SGBD ne dispose pas des mêmes fonctions...
  • Principales Fonctions disponibles (pas partout !) :
    • Fonctions générales : string_agg, json agg, range_agg, array_agg, ...
    • Fonctions statistiques : STDDEV, VARIANCE, CORR, ...
    • et plein d'autres fonctions !
  • Exemple 1 :
    • SELECT col_region, string_agg(col_nom, ', ') 
      FROM collectivite 
      GROUP BY col_region 
      ORDER BY col_region;
    • col_region    |                   string_agg                                               
      ---------------+-----------------------------------------------------------------
      Alsace         | Bas-Rhin, Haut-Rhin
      Aquitaine      | Dordogne, Gironde, Landes, Lot-et-Garonne, Pyrénées-Atlantiques
      Auvergne       | Cantal, Allier, Haute-Loire, Puy-de-Dôme
      Basse-Normandie| Calvados, Manche, Orne
      ...
  • Exemple 2 : Possibilité de trier le résultat de l'agrégation !
    • SELECT col_region, string_agg(col_nom, ', ' ORDER BY col_nom)
      FROM collectivite
      GROUP BY col_region
      ORDER BY col_region;
    • col_region    |                   string_agg                                               
      ---------------+-----------------------------------------------------------------
      Alsace         | Bas-Rhin, Haut-Rhin
      Aquitaine      | Dordogne, Gironde, Landes, Lot-et-Garonne, Pyrénées-Atlantiques
      Auvergne       | Allier, Cantal, Haute-Loire, Puy-de-Dôme
      Basse-Normandie| Calvados, Manche, Orne
      ...