un passage quasi-obligatoire pour faire des sites web dynamiques

14.Les fonctions d'aggré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
hebergementnoteprix
Gite3250
Hôtel3400
Camping4200
Camping2100
Camping1100
Hôtel2450
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
Gite1
Camping3
Hôtel2