Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle Query pour cumuler la quantité par année - seulement 3 dernières années

Une méthode utilise deux niveaux de fonctions analytiques :

select t.*, max(running_avg_3) over (partition by item_id)
from (select t.*,
             avg(qty) over (partition by item_id order by year desc
                            rows between current row and 2 following
                           ) as running_avg_3
      from t
     ) t