L’instruction GROUP BY est utilisée pour regrouper les lignes qui ont les mêmes valeurs dans la table.
Le regroupement vous permet de diviser les données en ensembles logiques afin que vous puissiez effectuer des calculs agrégés sur chaque groupe. Les groupes sont créés à l’aide de la clause GROUP BY dans l’instruction SELECT.
La clause GROUP BY demande au DB2 de regrouper les données, puis d’effectuer l’agrégation sur chaque groupe plutôt que sur l’ensemble des résultats.
Syntaxe:
SELECT nom_colonne(s)
FROM nom_table
WHERE condition
GROUP BY nom_colonne(s);
Base de données DB2 :
Vous trouverez ci-dessous une sélection de la table “Product” de la base de données DB2.
ID-Produit | Nom-Produit | Catégorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7002 | Disque dur | Accessoires | 65,00 | 20 | 1 300 |
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 | ||
7006 | Stylo | Papeterie | 7.45 | 10 | 74,50 |
7007 | Clé USB | Accessoires | 65,00 | 20 | 1 300 |
Exemple 1:
L’instruction SQL suivante répertorie le nombre de catégories différentes dans la table “Produit”.
SELECT Categorie, COUNT(Categorie) As "Nombre_de_Produit"
FROM Produit
GROUP BY Categorie;
La clause GROUP BY demande à DB2 de trier les données et de les regrouper par catégorie. Ainsi, “Number_of_Products” est calculé une fois par catégorie plutôt qu’une fois pour l’ensemble du tableau.
Le résultat de cette requête est le suivant.
Catégorie | Nombre_de_Produit |
---|---|
Accessoires | 4 |
Composants | 1 |
vélos | 1 |
Papeterie | 1 |