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;
美好的一天, 我有一个 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;