Я пытаюсь вычислить 4-дневное скользящее среднее в SQL.У меня есть дата в формате ниже.В моей таблице много компаний.Я должен рассчитать средний прокат отдельно для каждой компании.Но мой следующий запрос выполняет скользящий средний без дифференциации компаний.
Пожалуйста, исправьте мой запрос.Ожидаемый результат ниже:
select
[date],[PX_VOLUME],[Company],
avg([PX_VOLUME]) OVER (ORDER BY [date],[Company] ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) as monthrolling
into dbo.[Equity_Indicators_window]
from dbo.[Equity_Indicators_V1]
group by [Company],[date],[PX_VOLUME]
order by [date]
Входные данные:
date PX_Volume Company
2018-06-22 7455031 ABC HOLDINGS
2018-06-22 801629 LEMAITRE VASLA
2018-06-22 23951629 CLUB CORP
2018-06-23 7455041 ABC HOLDINGS
2018-06-23 801631 LEMAITRE VASLA
2018-06-23 23951643 CLUB CORP
2018-06-24 745506 ABC HOLDINGS
2018-06-24 801666 LEMAITRE VASLA
2018-06-24 23951698 CLUB CORP
2018-06-25 7455031 ABC HOLDINGS
2018-06-25 801629 LEMAITRE VASLA
2018-06-25 23951629 CLUB CORP
2018-06-26 7455031 ABC HOLDINGS
2018-06-26 801629 LEMAITRE VASLA
2018-06-26 23951629 CLUB CORP
Ожидаемый результат:
date PX_Volume Company monthrolling
2018-06-22 7455031 ABC HOLDINGS 7455031
2018-06-22 801629 LEMAITRE VASLA 801629
2018-06-22 23951629 CLUB CORP 23951629
2018-06-23 7455041 ABC HOLDINGS 7455036
2018-06-23 801631 LEMAITRE VASLA 801630
2018-06-23 23951643 CLUB CORP 23951636
2018-06-24 745506 ABC HOLDINGS 5218526
2018-06-24 801666 LEMAITRE VASLA 801642
2018-06-24 23951698 CLUB CORP 23951656.67
2018-06-25 7455031 ABC HOLDINGS 5777652.25
2018-06-25 801629 LEMAITRE VASLA 801638.75
2018-06-25 23951629 CLUB CORP 23951649.75
2018-06-26 7455031 ABC HOLDINGS 5777652.25
2018-06-26 801629 LEMAITRE VASLA 801638.75
2018-06-26 23951629 CLUB CORP 23951649.75