Cours › Décisions fondées sur les données : de la question à la réponse
Regrouper pour obtenir un tableau prêt à graphiquer
Leçon 6 sur 8 · 13 min
Une ligne par barre
Un graphique est une table déguisée. Un diagramme en barres du chiffre d'affaires par source a besoin d'exactement une ligne par source et une colonne par valeur. Passer de milliers de lignes de commandes à une poignée de lignes récapitulatives est le travail de GROUP BY.
SELECT source,
COUNT(*) AS orders,
ROUND(SUM(net_amount), 2) AS revenue
FROM orders
WHERE status = 'delivered'
AND order_date >= '2026-01-01'
AND order_date < '2026-04-01'
GROUP BY source
ORDER BY revenue DESC;GROUP BY source regroupe toutes les lignes ayant la même source en une seule ligne, et les agrégats comme COUNT et SUM fonctionnent ensuite à l'intérieur de chaque groupe. Chaque colonne dans SELECT doit soit apparaître dans GROUP BY, soit se trouver dans un agrégat. Sinon, SQL ne peut pas savoir laquelle des nombreuses valeurs d'un groupe afficher.
Pour le premier trimestre 2026, le résultat place direct en premier avec CHF 14'711.70, puis la recherche payante avec CHF 5'798.60 et l'organique avec CHF 5'716.96. Le social vient en dernier avec CHF 2'662.37. Lisez attentivement : source est la source de la visite qui a mené à la commande. Sur les 273 commandes passées depuis des visites directes ce trimestre-là, seulement 22 étaient une première commande. Ce tableau montre où les commandes arrivent, pas quel canal a gagné la cliente.
Grouper par une valeur calculée
Pour grouper par mois, calculez le mois à partir de la date. strftime(order_date, '%Y-%m') formate une date en texte tel que 2025-07. Comme le texte commence par l'année, le trier trie aussi les mois dans l'ordre chronologique.
- Nommez la colonne calculée avec
AS, par exempleAS month. Dans DuckDB, vous pouvez ensuite écrireGROUP BY month; dans certaines autres bases de données, vous répétez le calcul. - Filtrez avant de grouper.
WHEREretire les lignes avant qu'elles ne soient groupées, de sorte que les commandes annulées n'atteignent jamais les sommes. - Triez les lignes de la façon dont le graphique se lit : les mois par le temps, les catégories par taille.
- Gardez le nombre de lignes assez petit pour être lisible. Huit régions ou douze mois font un bon graphique ; 96 produits ont généralement besoin d'un top 10 et d'une ligne pour le reste.
À quoi ressemble l'année
Groupé par mois, le chiffre d'affaires livré en 2025 va de CHF 7'963.79 en juillet à CHF 18'373.89 en décembre. Décembre n'a pas eu le plus de commandes ; c'est novembre, avec 273. Les paniers de décembre étaient les plus gros, à CHF 70.67 en moyenne. Le deuxième trimestre 2025 a apporté CHF 37'265.67.
Les commandes et le chiffre d'affaires ne classent pas toujours les groupes de la même façon. En 2025, Genève a eu 272 commandes livrées et Bâle 264, pourtant Bâle a apporté plus de chiffre d'affaires, CHF 16'079.85 contre CHF 15'744.15, car ses commandes étaient plus grosses en moyenne. Quand deux valeurs pourraient raconter des histoires différentes, les deux colonnes ont leur place dans le tableau.
Cette structure importe à Lena de deux façons. Le deuxième trimestre n'est pas une haute saison, un chiffre d'affaires stable d'avril à juin ne prouverait donc pas qu'un nouveau budget a échoué. Et les résultats par canal de décembre ne devraient pas être comparés à ceux de juillet sans le préciser dans la note.
Connectez-vous pour répondre et suivre votre progression.
Se connecter