Instruction SQL GROUP BY

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-ProduitNom-ProduitCatégoriePrixStockValeur-Totale
7001SourisAccessoires75,00
7002Disque durAccessoires65,00201 300
7003ClavierAccessoires36.00331 118,00
7004RAMComposants23.5016376,00
7005VTTvélos1 200
7006StyloPapeterie7.451074,50
7007Clé USBAccessoires65,00201 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égorieNombre_de_Produit
Accessoires4
Composants1
vélos1
Papeterie1