Exercice 50 / 60

Analyse cohortes

ConsigneAnalyse par cohorte (ville + departement) : nb_etudiants, moyenne (AVG arrondie à 2 décimales), note_min, note_max. Ne garde que les groupes d'au moins 2 etudiants. Trie par moyenne décroissante.

📖 Cours

Une analyse de cohorte regroupe les individus par critères communs et calcule plusieurs statistiques par groupe. On combine group BY avec plusieurs agrégations.

Une analyse de cohorte lit plusieurs mesures sur le même seau : le nombre, la moyenne, le minimum et le maximum
Une analyse de cohorte lit plusieurs mesures sur le même seau : le nombre, la moyenne, le minimum et le maximum

Exemple (table produits) :

SELECT categorie, fournisseur, COUNT(*) AS nb_produits, ROUND(AVG(prix), 2) AS prix_moyen, MIN(prix) AS prix_min, MAX(prix) AS prix_maxFROM produitsGROUP BY categorie, fournisseur;

round(x, 2) arrondit à 2 décimales, mais seulement pour le type numeric. Appliqué à un nombre à virgule flottante (ce que rendent une division ou un avg sur une colonne float), il échoue avec « function round(double precision, integer) does not exist ». On convertit alors d'abord : round(x::numeric, 2).

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →