У меня следующий запрос:
SELECT account,
FLOOR(max(mov_avg_7d)) AS max_mov_avg_7d
FROM (
SELECT account,date,items,
AVG(items) OVER (PARTITION BY account ORDER BY date RANGE BETWEEN 6 PRECEDING AND CURRENT ROW) AS mov_avg_7d,
FROM [my_table]
)
group by account
Вот образец моей таблицы:
Account Date Items
accountxxxxxx 2009-01-01 235
accountxxxxxx 2009-01-02 261
accountxxxxxx 2009-01-03 186
accountxxxxxx 2009-01-04 173
accountxxxxxx 2009-01-05 273
accountxxxxxx 2009-01-06 254
accountxxxxxx 2009-01-07 386
С помощью FLOOR(max(mov_avg_7d)) AS max_mov_avg_7d
я могу получить наибольшее среднее количество элементов, которое может иметь учетная запись в течение 7-дневного скользящего периода.
Я хотел бы иметь возможность для каждого аккаунта иметь диапазон дат (7 дней), связанный с наибольшим средним количеством товаров за 7 дней.
Вывод будет примерно таким:
Account Date Items max_mov_avg_7d min_date_range max_date_range
accountxxxxxx 2009-01-01 235 635 2009-05-12 2009-05-19
Надеюсь, я достаточно ясно.
Спасибо!
Саймон.