Exercice 54 / 60

Moving averages et tendances

Sur la table orders, calcule le CA quotidien puis sa moyenne mobile 7 jours (ma_7d) et 30 jours (ma_30d) avec des window frames ROWS. Ajoute une colonne trend valant 'hausse' si la MM7 dépasse la MM30, sinon 'baisse'. Trie par jour.

Une moyenne mobile lisse les variations quotidiennes pour révéler une tendance. Technique : avg(...) over (order BY jour rows between 6 preceding and current row) = moyenne sur 7 jours.

La moyenne mobile lit une fenêtre des sept derniers jours, qui glisse d'un cran à chaque nouvelle journée

Exemple (table trafic, une ligne par jour) :

SELECT jour, visites, AVG(visites) OVER ( ORDER BY jour ROWS BETWEEN 6 PRECEDING AND CURRENT ROW ) AS moyenne_7j FROM trafic;

rows between ... définit la fenêtre glissante (ici les 7 derniers jours).

orders
idcustomer_idproduct_idquantitypriceorder_datestatuscreated_at
query.sql

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →