14.Les fonctions d'agrégation

14.4.Compter le nombre d'enregistrements [COUNT et GROUP BY]

14.4.1.Résultat unique

Pour avoir le nombre d'enregistrements que pourrait retourner la requête SELECT, le langage SQL propose la fonction COUNT.
Ainsi avec l'exemple
hebergement note prix
Gite 3 250
Hôtel 3 400
Camping 4 200
Camping 2 100
Camping 1 100
Hôtel 2 450
La requête :
SELECT COUNT(*) FROM matable
retournera une seule ligne résultat contenant un seul champ dont la valeur sera 6 (soit le nombre d'enregistrement dans la table).
La requête :
SELECT COUNT(*) FROM matable WHERE hebergement='Camping'
aurait quant à elle retourné la valeur 3 (nombre de camping dans la table).

14.4.2.Résultat multiple

Il est également possible d'obtenir en une seule requête le nombre d'enregistrements pour chaque type d'hebergement. Pour cela il faut utiliser l'argument "GROUP BY" dont voici des exemples d'utilisation.
SELECT COUNT(*) FROM matable GROUP BY hebergement
Une telle requête pourrait retourner une résultat du genre:
1
3
2
Cela nous donne une indication car on sait ainsi que l'on a 1 seul enregistrement d'un type donné, 3 d'un autre et 2 d'un autre encore. Pour que le résulat de la requête soit plus parlant, il convient d'afficher l'hebergement en plus du compte (ce qui est parfaitement autorisé par le langage SQL).
SELECT hebergement,COUNT(*) FROM matable GROUP BY hebergement
donnera ainsi
Gite 1
Camping 3
Hôtel 2