根据某些行从上一行中减去
Subtract from previous row based on certain rows
我在SQL
中有一个这样的table
我想像我在Excel中创建的需求列一样计算需求列。
这是我在Excel
中使用的公式
=IF(T2=T1,IF(V1>V2,V1-V2,0),0)
此公式检查产品类型是否属于同一类别,如果是,则通过从前一个时间戳中减去库存量来计算已取货的产品数量。
我想在 Microsoft SQL 服务器中实现相同的功能。任何帮助将不胜感激。
您可以使用:
select t.*,
(case when lag(stock) over (partition by type order by time) > stock
then lag(stock) over (partition by type order by time) - stock
else 0
end)
from t;
我在SQL
中有一个这样的table我想像我在Excel中创建的需求列一样计算需求列。
这是我在Excel
中使用的公式=IF(T2=T1,IF(V1>V2,V1-V2,0),0)
此公式检查产品类型是否属于同一类别,如果是,则通过从前一个时间戳中减去库存量来计算已取货的产品数量。
我想在 Microsoft SQL 服务器中实现相同的功能。任何帮助将不胜感激。
您可以使用:
select t.*,
(case when lag(stock) over (partition by type order by time) > stock
then lag(stock) over (partition by type order by time) - stock
else 0
end)
from t;