У меня есть таблица цен акций, где суббота, воскресенье - это дыры, когда рынок закрыт (например, 2019-11-30,2017-11-27)
- время, цена
- 2019-11-29, 30
- 2019-11-28, 32
- 2019-11-27, 31
- ...
- 2018 -11-30, 19
- 2018-11-29, 20
- 2018-11-28, 22 * 1018 *
- 2018-11-27, 21
- ...
- 2017-11-30, 11
- 2017-11-29, 10
- 2017-11-28, 12
- 2017 -11-25, 13
Я хочу получить взвешенный агрегат цены на конкретную c дату за последние 3 года. Мой вес 1/2, 1/3, 1/6. Таким образом, в течение некоторого времени TI хочет
P@T*1/2+P@(T-1 Year)*1/3+P@(T-2 Year)*1/6
, поэтому на 2019-11-27 это становится 31/2 + 21/3 + 13/6
Как я могу сформулировать Postgres запрос в наиболее эффективном способ для того же самого, который выбирает ближайшее время на интервале, а также сочетается с взвешенной агрегацией
благодаря