Menu
Coddy logo textTech

Pourcentage du total

Fait partie de la section Au-delà des bases du Journey SQL de Coddy. Leçon 24 sur 27.

La part de chaque ligne dans l’ensemble est un grand classique des fonctions de fenêtre : divisez la valeur de la ligne par la SUM de la même colonne sur l’ensemble de la fenêtre.

SELECT product, revenue,
       revenue * 100.0 / SUM(revenue) OVER () AS pct
FROM sales

Un OVER () vide signifie « l’ensemble des résultats ». Ajoutez un PARTITION BY pour calculer la part au sein d’un groupe à la place (par ex. OVER (PARTITION BY category) pour la part au sein de chaque category).

Multipliez par 100.0 (et non par 100) afin que la division reste flottante. Sinon, la division entière de SQLite arrondirait les petites parts à zéro.

challenge icon

Défi

Facile

Tables et colonnes disponibles :

  • sales : category, product, revenue

Pour chaque ligne, renvoyez :

  • category
  • product
  • revenue
  • pct_of_category : la part du produit dans le chiffre d'affaires au sein de sa catégorie, arrondie à 1 décimale

Utilisez un PARTITION BY sur la fenêtre. Triez par category, puis par pct_of_category par ordre décroissant.

Essayez vous-même

SELECT category, product, revenue,
       -- pct en tant que part au sein de la catégorie, utiliser PARTITION BY
FROM sales
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Au-delà des bases

Entraînez-vous par vous-même : Playground SQL