Clause GROUP BY

La clause GROUP BY permet de regrouper les lignes qui partagent la même valeur dans une ou plusieurs colonnes. Elle est souvent utilisée avec des fonctions d'agrégation (COUNT, SUM, AVG, etc.) pour calculer des valeurs sur des groupes de lignes.

Syntaxe :

SELECT colonne1, colonne2, ..., fonction_agrégat(colonne)
FROM table
GROUP BY colonne1, colonne2, ...;

Exemple 1 : Compter le nombre de commandes par client

SELECT id_client, COUNT(*) AS total_commandes
FROM commandes
GROUP BY id_client;

Cela retourne le nombre total de commandes passées par chaque client.

Exemple 2 : Calculer la somme des montants des commandes par mois

SELECT MONTH(date_commande) AS mois, SUM(montant_total) AS total_mensuel
FROM commandes
GROUP BY mois;

Cela retourne la somme des montants des commandes pour chaque mois.

Règles importantes :

  • Toutes les colonnes dans la clause SELECT qui ne sont pas des fonctions d'agrégation doivent être présentes dans la clause GROUP BY.

  • Le regroupement doit être pertinent pour l'analyse (par exemple, regrouper par client, par mois, par produit).

Last updated