SQL 服务器 SUM/Group/Window 函数

SQL Server SUM/Group/Window Function

美好的一天, 我有一个 table 如下。

我想做的是添加一个新列,它将 tabulate/summarize(无论如何可能)通过 CovID/PolicyNo/CovYear/Positive(负)值称为 "New Net"。

在下面的示例中,新列如下所示。 简而言之,我们要做的是对该组中的所有值求和,并且只将该总数放在该组的第一行中,并将所有其他值清零。任何 help/pointers 将不胜感激。我试过 SQL 服务器 Window 功能,标准 SUM/GROUP.

这应该符合您的期望:

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;