我有一张桌子,上面有每种产品的价格,可以每天更新。
更新过程正在进行中,因此,如果价格不变,则当天和该产品将没有新条目。
我需要计算每个产品最近30天的平均价格,并考虑当天的价格不等于前一个最终升值的日期。
例如,如果12月5日至19日在5/12有一个新价格,而在20/12有另一个新价格,则该价格应被视为等于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