美好的一天, 我有一张表如下。
我想要做的是添加一个新的列,将列表/汇总(无论如何可能)称为" New Net"通过CovID / PolicyNo / CovYear / Positive(Negative)值。
在下面的示例中,新列将如下所示。 简而言之,我们要做的是SumUp该组中的所有值,并且只将该总数放在该组的第一行中,并将所有其他值归零。任何帮助/指针将不胜感激。我尝试过SQL Server窗口函数,标准SUM / GROUP。
答案 0 :(得分:1)
这应符合ypur的期望:
SELECT PolicyNo ,
CovID ,
CovYear ,
p ,
net,
CASE WHEN ROW_NUMBER()OVER(PARTITION BY CovID, PolicyNo, CovYear, net ORDER BY PolicyNo) = 1 THEN net ELSE 0 END AS NewNet
FROM dbo.test1;