首页 > 解决方案 > PostgreSQL 中的库存计算

问题描述

我有这张名为 Stock 的表

ID | Plant | Item | Quantity
1    1      Pepsi    1
2    1      Coke     3
3    2      Pepsi    5

如何重建以前的状态来得到这个结果?

ID | Plant | Item | Quantity | THIS(total_stock)
1    1      Pepsi    1              6
2    1      Coke     3              3
3    2      Pepsi    5              6

标签: sqlpostgresql

解决方案


这可以使用窗口函数来完成:

select id, plant, item, quantity, 
       sum(quantity) over (partition by item) as total_stock
from stock;

推荐阅读