Grouper les données ou les résultats

Créer les groupes

Certaines fonctions de calculs permettent de disposer de résultats synthétiques concernant un champ (moyenne, maximum, nombre...). On peut ainsi facilement calculer le nombre d'ouvrages figurant dans la table livre. Mais comment faire pour compter le nombre d'ouvrages par auteur par exemple? La réponse vient avec les clauses GROUP BY et HAVING. Principe:

SELECT champs, champ_calculé FROM table GROUP BY champ

Pour le nombre d'ouvrages par auteur on aura:

SELECT id_auteur, COUNT(titre) AS NB_Ouvrages FROM livre GROUP BY id_auteur