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 :
| mois | revenus | région |
| 4 | 40 | East |
| 5 | 20 | East |
| 6 | 60 | West |
| 7 | 55 | West |
| 8 | 61 | East |
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1Cela renverra :
| month | revenue | max_revenue |
| 4 | 40 | 40 |
| 5 | 20 | 40 |
| 6 | 60 | 60 |
| 7 | 55 | 60 |
| 8 | 61 | 61 |
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| mois | revenus | avg_revenue |
| 4 | 40 | 40 |
| 5 | 20 | 30 |
| 6 | 60 | 40 |
| 7 | 55 | 43.75 |
| 8 | 61 | 47.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 table1Nous donnerait :
| mois | revenu | région | max_revenue |
| 4 | 40 | Est | 40 |
| 5 | 20 | Est | 40 |
| 6 | 60 | Ouest | 60 |
| 7 | 55 | Ouest | 60 |
| 8 | 61 | Est | 61 |
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.
Défi
FacileTables 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 :
- Le nombre maximal de mots trouvés sur une page de ce livre
- Le nombre moyen de mots par page pour l'ensemble du livre
- 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 :
bookpagewordsmax_words_in_bookavg_words_per_pagediff_from_avg
Essayez vous-même
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
1Introduction
IntroductionQu’est-ce qu’une base de donnéesConcepts des bases de donnéesValeurs uniques4D’autres mots-clés
Le mot-clé INLe mot-clé BETWEENLe mot-clé LIKELe mot-clé ASRécapitulatif - Modèles de téléphones portables2Conditions
Bases des conditionsLe mot-clé ANDLe mot-clé ORLe mot-clé NOTCombinaison de plusieurs conditionsParenthèsesBooléens5Opérations arithmétiques
Opérateurs mathématiquesColonnes mathématiquesL’opération moduloLa fonction ROUND()3Format de retour spécifique
Valeurs NULLTrier les résultats, partie 1Trier les résultats, partie 2Récapitulatif - Entreprise de cybersécuritéLimiter le nombre d’enregistrementsRécapitulatif - Usine de véhicules6Défis d’introduction
Récapitulatif - Élection parlementaireRécapitulatif - Arrestation criminelle par la policeRécapitulatif - Récipient de boisson au barRécapitulatif - Ingénieur de nouvelles colonnes9Tables multiples
Jointure de base, partie 1Jointure de base, partie 2Récapitulatif - JointureAuto-jointureRécapitulatif - Auto-jointureUnionSimplifier les requêtes, mot-clé WITHRécapitulatif - Requêtes WITHRécapitulatif - Entrepreneur immobilier12Fonctions de fenêtre – partie 2
Fonctions RANK & DENSE_RANKRécapitulatif – RANK & DENSE_RANKFonction NTILEFonctions d’agrégationCritère ROWS & RANGEEntraînez-vous par vous-même : Playground SQL