ConsigneSur la table ventes, calcule le chiffre d'affaires cumulé au fil des dates (somme progressive du montant avec une fonction fenêtre). Colonnes : date_vente, montant, ca_cumule.
Avec over (order BY ...), sum() devient un cumul progressif (running total) au lieu d'un total unique. Syntaxe : sum(colonne) over (order BY col)
Exemple (table commandes) :
SELECT date_commande, montant, SUM(montant) OVER (ORDER BY date_commande) AS total_cumuleFROM commandes;-> le montant additionné date après dateAttention : le cumul n'avance pas ligne par ligne, il avance par valeur de la colonne du order BY. Deux commandes portant la même date reçoivent d'un coup le même total cumulé, celui qui les inclut toutes les deux : la première des deux n'affiche donc pas un total « avant » l'autre. Un chiffre d'affaires journalier, cas de l'exercice, est justement plein de dates répétées. Pour un cumul strictement ligne par ligne, on départage les ex aequo : order BY date_commande, id.
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →