TUTORIELS 
MySQL : utiliser la clause HAVING
Cette clause permet d'étendre les possibilités de filtrage d'une sélection en donnant accès à des fonctions inutilisables autrement.  (17 février 2004)
 
Forums
* Discutez en sur les forums
Liée à la clause GROUP BY mais peu utilisée, HAVING peut pourtant se révéler d'une grande utilité dès que l'on souhaite préciser plus avant une sélection, en y adjoignant une "sous-sélection" sous forme de calculs ou autres. Ainsi, nous créons une sorte d'astreinte supplémentaire à la première sélection.
Notez qu'elle doit impérativement être placée après la clause GROUP BY, et avant toute possible clause ORDER BY...


Le code
SELECT machine,ventes,pays FROM ventes_globales
WHERE pays LIKE 'F%'
GROUP BY machine,ventes HAVING MAX(ventes) > 2000;

Un point intéressant est son utilisation avec des fonctions de GROUP BY, comme SUM(), AVG(), MAX()... qui ne peuvent pas être utilisées par WHERE.

Le code
SELECTION AVG(notes),eleve FROM classe_5
GROUP BY eleve HAVING AVG(note) > 10;

 
[ Xavier BorderieJDNet
 
Accueil | Haut de page