Сначала вам нужно будет предварительно сгруппировать его и посчитать для каждого метода усреднения, который вы хотели. Чтобы провести различие между годами 1 и 2, я бы добавил год () транзакции в классификатор группировки для различий. Например, Продажи в январе 2010 г. по сравнению с Продажами в 2011 г. по сравнению с 2012 г. ... аналогично, неделя 1 2010 г., неделя 1 2011 и 2012 гг. Вместо того, чтобы считать все 3 года одной неделей.
Следующее можно сделать, если вы используете MySQL
select
PreCount.ProductNo,
PreCount.TotalCount / PreCount.CountOfYrWeeks as AvgPerWeek,
PreCount.TotalCount / PreCount.CountOfYrMonths as AvgPerMonth,
PreCount.TotalCount / PreCount.CountOfYears as AvgPerYear
from
( select
OL.ProductNo,
count(*) TotalCount,
count( distinct YEARWEEK( O.OrderDate ) ) as CountOfYrWeeks,
count( distinct Date_Format( O.OrderDate, "%Y%M" )) as CountOfYrMonths,
count( distinct Year( O.OrderDate )) as CountOfYears
from
OrderLine OL
JOIN Order O
on OL.OrderNo = O.OrderNo
group by
OL.ProductNo ) PreCount