OUJOOD.COM
Tutoriel sur l'instruction SQL GROUP BY: Introduction
La clause GROUP BY est une instruction SQL qui permet de regrouper des lignes de données en fonction d'une ou plusieurs colonnes. Elle est souvent utilisée avec des fonctions d'agrégation pour calculer des statistiques sur les groupes de lignes.
Définition et utilisation
La clause GROUP BY est utilisée avec l'instruction SELECT pour regrouper les lignes de données. Elle est placée aprÚs la clause SELECT et avant la clause ORDER BY, si elle est utilisée.
SELECT [colonnes] FROM [table] GROUP BY [colonnes] [HAVING [condition]]
La clause GROUP BY peut ĂȘtre utilisĂ©e pour regrouper des lignes de donnĂ©es en fonction d'une ou plusieurs colonnes. Par exemple, la requĂȘte suivante regroupe les lignes de donnĂ©es de la table produits en fonction du nom du produit :
Exemple : đ Copier le code
SELECT nom, COUNT(*) AS nombre_produits FROM produits GROUP BY nom
Syntaxes
Il existe plusieurs syntaxes pour la clause GROUP BY.
- Regroupement par une colonne
La syntaxe la plus simple est de regrouper les lignes de donnĂ©es par une seule colonne. Par exemple, la requĂȘte suivante regroupe les lignes de donnĂ©es de la table produits en fonction du nom du produit :
Exemple : đ Copier le code
SELECT nom, COUNT(*) AS nombre_produits FROM produits GROUP BY nom
- Regroupement par plusieurs colonnes
La clause GROUP BY peut Ă©galement ĂȘtre utilisĂ©e pour regrouper les lignes de donnĂ©es par plusieurs colonnes. Par exemple, la requĂȘte suivante regroupe les lignes de donnĂ©es de la table produits en fonction du nom du produit et de la catĂ©gorie du produit :
Exemple : đ Copier le code
SELECT nom, catégorie, COUNT(*) AS nombre_produits FROM produits GROUP BY nom, catégorie
- Regroupement par une expression
La clause GROUP BY peut Ă©galement ĂȘtre utilisĂ©e pour regrouper les lignes de donnĂ©es par une expression. Par exemple, la requĂȘte suivante regroupe les lignes de donnĂ©es de la table produits en fonction du prix des produits :
Exemple : đ Copier le code
SELECT prix, COUNT(*) AS nombre_produits FROM produits GROUP BY prix
- Regroupement par une fonction d'agrégation
La clause GROUP BY peut Ă©galement ĂȘtre utilisĂ©e pour regrouper les lignes de donnĂ©es par une fonction d'agrĂ©gation. Par exemple, la requĂȘte suivante regroupe les lignes de donnĂ©es de la table produits en fonction du prix moyen des produits :
Exemple : đ Copier le code
SELECT AVG(prix) AS prix_moyen FROM produits GROUP BY prix
Exemples pratiques d'utilisation
Voici quelques exemples pratiques d'utilisation de la clause GROUP BY :
- Calculer le nombre de clients par pays
Exemple : đ Copier le code
SELECT pays, COUNT(*) AS nombre_clients FROM clients GROUP BY pays
- Calculer le montant total des ventes par catégorie de produit
Exemple : đ Copier le code
SELECT catégorie, SUM(prix) AS montant_total_des_ventes FROM produits GROUP BY catégorie
- Calculer la moyenne des notes par étudiant
Exemple : đ Copier le code
SELECT étudiant, AVG(note) AS moyenne_des_notes FROM notes GROUP BY étudiant
Astuces et conseils d'utilisation
Voici quelques astuces et conseils d'utilisation de la clause GROUP BY :
- La clause GROUP BY ne modifie pas les données de la table source. Elle ne fait que regrouper les lignes de données et calculer des statistiques sur les groupes.
- La clause GROUP BY ne peut pas ĂȘtre utilisĂ©e avec la clause DISTINCT.
- La clause GROUP BY peut ĂȘtre utilisĂ©e avec la clause HAVING pour filtrer les groupes de lignes.
- La clause GROUP BY peut ĂȘtre utilisĂ©e avec des fonctions d'agrĂ©gation, telles que COUNT(), SUM(), AVG(), MIN et MAX .
Conclusion
La clause GROUP BY est une instruction SQL puissante qui permet de regrouper des lignes de données en fonction d'une ou plusieurs colonnes. Elle est souvent utilisée avec des fonctions d'agrégation pour calculer des statistiques sur les groupes de lignes.