i

Utilisation de GROUP BY


La difficulté majeure, quand on commence avec les fonctions d'agrégat dans SQL, c'est la clause de regroupement

(celle qui s'appelle "Groupe" dans le mode ébauche et qui s'énonce "Group by" en langage SQL) ; pour ma part, j'ai

fini par réussir à les utiliser quand, loin de toutes les explications techniques, j'ai retenu qu'il fallait placer, derrière le

"Group by", tous les champs qui figuraient derrière le "Select" et qui n'étaient pas affectés d'une fonction

d'agrégation.


Par exemple dans une requête débutant par :

select count(Id) as "Nbre", auteur, type_ouvrage, sum(ventes) as "Diffusion" from collection

il va te falloir insérer un Group by si tu veux que ta requête fonctionne et derrière ce Group by, devront figurer les

champs auteur et type_ouvrage ; ça donnera :

select count(Id) as "Nbre", auteur, type_ouvrage, sum(ventes) as "Diffusion" from collection Group by auteur,

type_ouvrage.


Cette requête te donnera le nombre de romans, de nouvelles, de pièces de théâtre écrites par chaque auteur

présent dans la table "collection" ainsi que le nombre vendu pour chaque type d'ouvrage ; quelque chose du genre :

4   Victor Hugo   Roman   250.000

2   Victor Hugo   Théâtre   123.000

3   Arthur Rimbaud   Poésie   140.000

14 Molière   Théâtre   364.000

8   Jean-Paul Sartre   Roman   56.000

3   Jean-Paul Sartre   Théâtre   42.000

2   Jean-Paul Sartre   Essai   68.000


ma biblio (2).odb