GROUP BY
L’instruction GROUP BY s’utilise dans le cadre d’un SELECT. Elle est particulièrement utile lors de l’utilisation d’une fonction d’agrégation. Elle permet de classer des observations selon la valeur d’une des 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 ;
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. Voici le code correspondant :
SELECT num_facture, COUNT(DISTINCT nom_produit) FROM ligne_facture GROUP BY num_facture ;
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