Postgres FIFO查询计算利润率

时间:2017-05-07 12:07:59

标签: sql postgresql cursor

我正在处理我的库存系统查询,以根据PostgreSQL(9.3+)中的FIFO(先进先出)计算利润。大多数回复都是针对MS SQL Server的,所以我不知道如何为PostgreSQL做些什么。我已经尝试过使用Windows功能但是我在计算利润时遇到困难(我不确定我们是否需要/可以使用游标,因为我之前没有使用它们)

  • 销售(负数)约为(20 * 4 + 30 * 1)= 110
  • 基于FIFO销售的商品成本为(5 * 2 + 10 * 2 + 10 * 1)= 40
  • 利润应为110 - 40 = 70

我到现在为止计算了总跑数。有人可以帮忙吗?

http://sqlfiddle.com/#!15/50b12/6

product_id product_name product_price purchase_date        product_quantity
1          Notebook     5             2017-05-05 00:00:00  2
1          Notebook     10            2017-05-06 00:00:00  4
1          Notebook     15            2017-05-07 00:00:00  6
1          Notebook     20            2017-05-08 00:00:00  -4 (this is sale)
1          Notebook     30            2017-05-09 00:00:00  -1 (this is sale)

期望的结果应显示销售额和利润率。只要我能获得利润率,就可以解决我的问题。

0 个答案:

没有答案