ConsigneCompte le nombre d'etudiants par ville. Affiche la ville et le compte (nommé nb), en groupant par ville.
group BY regroupe les lignes qui partagent la même valeur, pour appliquer une agrégation a chaque groupe. Syntaxe : select col, count(*) from table group BY col;
Exemple (table produits) :
SELECT categorie, COUNT(*) AS nb FROM produits GROUP BY categorie;-> le nombre de produits pour chaque categorieRègle sûre : toute colonne du select qui n'est pas dans une fonction d'agrégation doit être dans le group BY. PostgreSQL n'admet qu'une exception : si le regroupement porte sur la clé primaire de la table, il laisse passer les autres colonnes, puisque la clé primaire les détermine (select id, nom, count(*) from etudiants group BY id est accepté). En dehors de ce cas précis, applique la règle.
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →