仅库存SKU中的MySQL FIFO平均购买价格

仅库存SKU中的MySQL FIFO平均购买价格,mysql,average,fifo,Mysql,Average,Fifo,假设我有一些SKU的购买和销售数据: po_id | sku | purchase_date | price | qty ---------------------------------------------- 1 | 123 | 2017-01-01 12:25 | 20.15 | 5 2 | 123 | 2017-05-01 15:45 | 17.50 | 3 3 | 123 | 2017-05-02 12:00 | 15.00 | 1

假设我有一些SKU的购买和销售数据:

po_id | sku | purchase_date    | price | qty
----------------------------------------------
    1 | 123 | 2017-01-01 12:25 | 20.15 |   5
    2 | 123 | 2017-05-01 15:45 | 17.50 |   3
    3 | 123 | 2017-05-02 12:00 | 15.00 |   1
    4 | 456 | 2013-06-10 16:00 | 60.00 |   7

假设库存SKU按购买顺序出售,如何通过SQL找到库存SKU的平均购买价格?例如,SKU 123的平均采购价格(使用FIFO)为:

(17.50*2 + 15*1) / 3 = 16,66 
对于SKU 123=>我们有6个Sold,其中5个在20.15购买,1个在17.50购买,2个在17.50未出售)

库存SKU 123,我们现在有:

po_id | sku | purchase_date    | price | qty
----------------------------------------------
    2 | 123 | 2017-05-01 15:45 | 17.50 |   2
    3 | 123 | 2017-05-02 12:00 | 15.00 |   1
那么SKU 123的平均采购价格为:

(17.50*2 + 15*1) / 3 = 16,66 

如何在MySQL中计算?

我在进行累积计算时遇到问题,但这只是一个开始。谢谢你的出发点!我在做累积计算时遇到问题,但这只是一个开始。谢谢你的出发点!