我有一个带有库存报告的表格,其中包含物品列表、位置、物品进入位置的日期:
例如在下表中:
我需要对每个仓库每个月的商品数量进行汇总。 我面临的挑战是我没有结束日期列,因此对于 2020 年 2 月,它是空白的,而它应该显示项目 1 仍在“仓库_1”中
为此,我想添加一个“end_date”列,该列从该项目的下一行获取日期 (对于第 1 行,当项目移至“warehouse_2”时,结束日期为 2020-03-01。
item_id | 日期 | 位置 |
---|---|---|
item_1 | 2020-01-01 | 仓库_1 |
item_1 | 2020-03-01 | 仓库_2 |
item_1 | 2020-08-01 | 仓库_1 |
答案 0 :(得分:1)
要计算 end_date
,请使用 lead()
:
select t.*,
lead(date) over (partition by item_id order by date) as end_date
from t;