camera
INFOS

Styles


Radios



El_Mojito 0
7 Septembre 2017 à 20:17

Tuto SQL - #5 La commande HAVING


Salut tout le monde,

La condition HAVING en SQL est presque similaire à WHERE à la seule différence que HAVING permet de filtrer en utilisant des fonctions telles que SUM(), COUNT(), AVG(), MIN() ou MAX().


Syntaxe

L’utilisation de HAVING s’utilise de la manière suivante :

SELECT colonne1, SUM(colonne2)
FROM nom_table
GROUP BY colonne1
HAVING fonction(colonne2) operateur valeur

 

Cela permet donc de SÉLECTIONNER les colonnes DE la table « nom_table » en GROUPANT les lignes qui ont des valeurs identiques sur la colonne « colonne1 » et que la condition de HAVING soit respectée.

Important : HAVING est très souvent utilisé en même temps que GROUP BY bien que ce ne soit pas obligatoire.

 

Exemple

Pour utiliser un exemple concret, imaginons une table « achat » qui contient les achats de différents clients avec le coût du panier pour chaque achat.

id client tarif date_achat
1 Pierre 102 2012-10-23
2 Simon 47 2012-10-27
3 Marie 18 2012-11-05
4 Marie 20 2012-11-14
5 Pierre 160 2012-12-03

 

Si dans cette table on souhaite récupérer la liste des clients qui ont commandé plus de 40€, toute commandes confondu alors il est possible d’utiliser la requête suivante :

SELECT client, SUM(tarif)
FROM achat
GROUP BY client
HAVING SUM(tarif) > 40

 

Résultat :

client SUM(tarif)
Pierre 262
Simon 47

 

La cliente « Marie » a cumulée 38€ d’achat (un achat de 18€ et un autre de 20€) ce qui est inférieur à la limite de 40€ imposée par HAVING. En conséquent cette ligne n’est pas affichée dans le résultat.


Devenez vous aussi rédacteur !

Nous recherchons des rédacteurs bénévoles pour écrire des articles !
Gagnez en visibilité tout en écrivant autour de sujets qui vous passionnent.

En savoir plus

A voir aussi


Espace commentaire 0


Poster un commentaire


Vous devez être connecté pour pouvoir poster un commentaire...

Pas encore de compte ? Créez-en un ici !