У меня есть таблица с ценами по продуктам, которая может обновляться ежедневно.
Процесс обновления происходит по событию, поэтому, если цена не меняется, новые записи для этого дня и этого продукта отсутствуют.
Мне нужно рассчитать среднюю цену за последние 30 дней для каждого продукта, учитывая день без цены, равной предыдущему последнему оцененному дню.
Например, если есть новая цена 5/12, а другая 20/12 с 5 по 19 декабря, цена считается равной той, которая была сохранена 5/12.
Любая простая хорошая идея сделать это с запросом MySQL?
Например, я могу обогатить объяснение этим примером:
Table name: product_prices
Fields: id (PRIMARY KEY), product_ID (external key); product_price (FLOAT); creation (DATETIME)
Table data
---------------------------------------------------------
|id | product_id | product_price | creation |
----------------------------------------------------------
|1 | 30 | 15.2 | 1/12 |
|2 | 53 | 7.5 | 1/12 |
|3 | 30 | 15.4 | 5/12 |
|4 | 30 | 16 | 20/12 |
----------------------------------------------------------
в 31/12средняя цена для product_id == 30 должна быть (3 * 15,2 + 15 * 15,4 + 12 * 16) = 15,62