У меня есть таблица с 1 результатом в день, например:
id | item_id | date | amount
-------------------------------------
1 1 2019-01-01 1
2 1 2019-01-02 2
3 1 2019-01-03 3
4 1 2019-01-04 4
5 1 2019-01-05 5
6 2 2019-01-01 1
7 2 2019-01-01 2
8 2 2019-01-01 3
9 2 2019-01-01 4
10 2 2019-01-01 5
11 3 2019-01-01 1
12 3 2019-01-01 2
13 3 2019-01-01 3
14 3 2019-01-01 4
15 3 2019-01-01 5
Сначала я пытался усреднить количество столбцов за каждый день.
SELECT
x.item_id AS id,avg(x.amount) AS result
FROM
(SELECT
il.item_id, il.amount,
ROW_NUMBER() OVER (PARTITION BY il.item_id ORDER BY il.date DESC) rn
FROM
item_prices il) x
WHERE
x.rn BETWEEN 1 AND 50
GROUP BY
x.item_id
Результат будет следующим, если рассчитать на 2019-01-05
item_id | average
1 3
2 3
3 3
или, если рассчитано, 2019-01-04
item_id | average
1 2.5
2 2.5
3 2.5
Моя цель - каждый день запускать запрос Среднее, который автоматически обновляет среднее и вставит его в 5-й столбец «среднее»:
id | item_id | date | amount | average
5 1 2019-01-05 5 3
10 2 2019-01-05 5 3
15 3 2019-01-05 5 3
Проблема в том, что в каждом примере, который я могу найти с помощью Вставки выбора, они обновляют только одну строку, и они находятся над другой таблицей, также существует самая последняя проблема с датой ...
Может ли кто-нибудь указать мне правильное направление?