想象一下一个订单系统,有多个订单,比如Buy和Sell。数据集如下所示

我想计算净值,即(所有买方的总和-所有卖方的总和)
预期输出:

我目前已经使用Partition By得到了以下输出
SELECT
[NAME]
,[Side]
,[Value]
,SUM([Value]) OVER (PARTITION BY [NAME],[Side]) as Net
FROM
[Order]输出:

但是我不知道如何减去这些值并得到预期的结果。
发布于 2020-04-23 17:02:33
可以将窗口函数与条件逻辑一起使用
select
t.*,
sum(case side when 'B' then value when 'S' then -value end)
over(partition by name) net
from mytable thttps://stackoverflow.com/questions/61383265
复制相似问题