top of page

HAVING

L’instruction HAVING s’utilise dans le cadre d’un SELECT. Elle permet de réaliser un filtre sur les données, à l’aide d’une fonction qui s’applique sur une ou plusieurs colonnes.


Voici la syntaxe courante, où fonc_ag est une fonction d’agrégation :


SELECT column1, fonc_ag(column2) FROM table_name GROUP BY column1 HAVING condition ;


Exemple d’utilisation :


Imaginons une base de données ‘gest_fact’, qu’une entreprise a créée pour stocker les données relatives aux factures qu’elle a émises : la liste des produits commercialisés par l’entreprise, la liste des factures émises par l’entreprise et le détail de chaque ligne de facture. ‘Gest_fact’ est constituée de trois tables : ‘produit’, ‘facture’ et ‘ligne_facture’. On souhaite maintenant calculer le nombre de produits différents vendus dans chaque facture, en ne récupérant que les occurrences pour lesquelles le nombre de produits est supérieur à 2. Voici le code correspondant :


SELECT num_facture, COUNT(DISTINCT nom_produit) FROM ligne_facture GROUP BY num_facture HAVING COUNT(DISTINCT nom_produit) >= 2;


Voici le début du résultat de l’exécution du code :


_


Nos formations sur https://www.apprendresql.com/ 


Voir autres : ALTER TABLE, CREATE TABLE, DROP TABLE, AND, AS, AUTO_INCREMENT, AVG(), BETWEEN, COUNT(), CROSS JOIN, DELETE, DISTINCT, FOREIGN KEY, FULL JOIN, GROUP BY, HAVING, IN, INNER JOIN, INSERT, INTERSECT, IS NULL, LEFT JOIN, LIKE, MAX(), MERGE, MIN(), NATURAL JOIN, OR, ORDER BY, PRIMARY KEY, RIGHT JOIN, SELECT, SUM(), UNION, UPDATE, WITH ROLLUP, GRANT, REVOKE, BEGIN TRANSACTION, COMMIT, ROLLBACK, SAVEPOINT


bottom of page