Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Agrégation et Regroupement en SQL | Travail Avec les Données
Fondamentaux de Databricks : Guide du Débutant

Agrégation et Regroupement en SQL

Glissez pour afficher le menu

Note
Définition

L'agrégation SQL utilise la clause GROUP BY pour organiser les données brutes en lignes de synthèse. En utilisant des fonctions telles que SUM(), AVG() et COUNT(), il est possible de transformer des millions de lignes en indicateurs métier exploitables directement dans une cellule SQL.

Pour beaucoup, SQL est le langage le plus naturel pour résumer des données. La syntaxe est très lisible et suit un déroulement logique : choisir les catégories, sélectionner les calculs, puis définir les groupes. Dans ce chapitre, la vue temporaire créée précédemment sera utilisée pour effectuer les mêmes agrégations qu'en Python, mais avec la simplicité de SQL.

La clause GROUP BY

En SQL, toute colonne qui n'est pas « mathématiquement résumée » doit être incluse dans l'instruction GROUP BY à la fin de la requête. Cela indique au moteur SQL comment segmenter précisément les données.

SELECT cut, COUNT(*) 
FROM diamond_view
GROUP BY cut

Utilisation des fonctions d'agrégation intégrées

SQL propose plusieurs fonctions standard pour effectuer des calculs sur les colonnes numériques :

  • SUM() : addition de toutes les valeurs de la colonne ;
  • AVG() : calcul de la moyenne ;
  • MIN() / MAX() : recherche de la valeur la plus basse ou la plus élevée ;
  • COUNT() : retourne le nombre de lignes.
%sql
SELECT 
  cut, 
  SUM(x), 
  AVG(y)
FROM diamond_view
GROUP BY cut

Attribution pour des rapports professionnels

Par défaut, SQL peut nommer vos colonnes de résultat comme sum(Total_Profit). Pour rendre votre sortie adaptée à un tableau de bord professionnel, utilisez le mot-clé AS afin de renommer ces colonnes avec des intitulés plus explicites.

%sql
SELECT 
  cut, 
  SUM(x) AS Total_Length,
  MAX(y) AS Highest_Diamond_Value
FROM diamond_view
GROUP BY cut

Filtrage des données agrégées : la clause HAVING

Une erreur courante consiste à essayer de filtrer un résultat agrégé avec WHERE. En SQL, WHERE filtre les lignes individuelles avant leur regroupement. Si vous souhaitez filtrer les résultats après leur agrégation (par exemple, n'afficher que les régions avec plus de 1 000 000 $ de profit), il faut utiliser la clause HAVING.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
HAVING Total_Length > 4000

Tri des Résumés

Pour mettre en valeur vos analyses, utilisez toujours ORDER BY. Cela permet de classer vos résultats, par exemple en affichant en haut du tableau les régions les plus rentables.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
ORDER BY Total_Length DESC
question mark

Quelle clause SQL est nécessaire pour créer des lignes de synthèse lors de l'utilisation de fonctions d'agrégation comme SUM() ou AVG() ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 7

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 4. Chapitre 7
some-alt