Menu
Coddy logo textTech

Fonctions d’agrégation

Fait partie de la section Les fondamentaux du Journey SQL de Coddy. Leçon 68 sur 72.

Les fonctions d’agrégation servent à calculer AVG(), MAX() ou toute autre fonction d’agrégation jusqu’à la ligne actuelle.
Par exemple, nous pourrions calculer le revenu maximal obtenu jusqu’à chaque période de fin :

moisrevenusrégion
440East
520East
660West
755West
861East
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1

Cela renverra :

monthrevenuemax_revenue
44040
52040
66060
75560
86161

Pour les mois 4 et 5, le revenu maximal est de 40 ; pour les mois 6 et 7, il est de 60, et pour le mois 8, il est de 61. Cela s’explique par le fait que lorsqu’il trouve un nouveau revenu plus élevé, il abandonne l’ancien et utilise le plus élevé jusqu’à présent.

Pour la fonction AVG(), cela ressemblera à ceci :

SELECT month, revenue, AVG(revenue) OVER (ORDER BY month ASC) as avg_revenue
from table1
moisrevenusavg_revenue
44040
52030
66040
75543.75
86147.2

Nous pouvons également regrouper nos calculs par catégories spécifiques à l’aide de PARTITION BY. Par exemple :

SELECT month, revenue, region,
MAX(revenue) OVER (PARTITION BY region ORDER BY month ASC) as max_revenue
FROM table1

Nous donnerait :

moisrevenurégionmax_revenue
440Est40
520Est40
660Ouest60
755Ouest60
861Est61

Le maximum est maintenant calculé séparément pour chaque région. Les régions Est et Ouest maintiennent chacune leur propre maximum cumulatif indépendamment.

challenge icon

Défi

Facile

Tables et colonnes disponibles :

  • books : book, page, words

Pour chaque livre, affichez le nom du livre, son nombre total de pages, le nombre de mots sur chaque page, et calculez :

  1. Le nombre maximal de mots trouvés sur une page de ce livre
  2. Le nombre moyen de mots par page pour l'ensemble du livre
  3. La différence entre le nombre de mots de la page actuelle et le nombre moyen de mots par page du livre

Affichez les résultats triés par livre et par numéro de page.

Retournez les colonnes suivantes :

  • book
  • page
  • words
  • max_words_in_book
  • avg_words_per_page
  • diff_from_avg

Essayez vous-même

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 Les fondamentaux

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