创建列并获取最新数据

时间:2020-03-10 17:27:48

标签: sql sql-server tsql

我有一个包含以下数据的表:

enter image description here

如何获得“库存”和“成本”列?库存栏是数量变动的总和,成本栏是当月的最后平均成本。

1 个答案:

答案 0 :(得分:1)

您可以使用窗口功能:

select 
    t.*,
    sum(tranQty) over(order by tranDate) stock,
    case 
        when row_number() over(partition by year(tranDate), month(tranDate) order by tranDate desc) = 1
        then mtlUnitCost
    end cost
from mytable t