СКОЛЬЗЯЩЕЕ СРЕДНЕЕ

СКОЛЬЗЯЩЕЕ СРЕДНЕЕ

В аналитике также часто рассчитывают скользящее среднее. Скользящее среднее - это среднее за какой-то промежуток времени по отношению к текущему. Давайте для каждого продукта посчитаем насколько количество реализованного товара каждого дня больше чем среднее за последнюю неделю:

select
    productname,
    date,
    total_quantity,
    avg(total_quantity) over (partition by productname order by date 
    rows between 8 preceding and 1 preceding)
from
(
    select
        date,
        productname,
        sum(quantity) as total_quantity
    from
        supermarket_sales
    join
        supermarket_products
        on supermarket_sales.productid = supermarket_products.productid
    where 
        productname = 'Bread - Pumpernickel'
    group by
        date,
        productname
) as t