【发布时间】:2015-09-30 19:06:14
【问题描述】:
美好的一天, 我有一张如下表。
我想做的是添加一个新列,它将按 CovID/PolicyNo/CovYear/Positive(Negative) 值制表/汇总(无论如何)称为“新网络”。
在下面的示例中,新列将如下所示。 简而言之,我们要做的是汇总该组中的所有值,并将该总数放在该组的第一行,并将所有其他值归零。任何帮助/指针将不胜感激。我已经尝试过 SQL Server 窗口函数,标准 SUM/GROUP。
【问题讨论】:
-
这有助于向我们展示您的尝试。但是,查找 GROUP BY 分组集和/或 ROLLUP/CUBE 函数。他们做类似的事情。
-
所有额外的行是不是有点多余?您可以通过
SELECT DISTINCT查询获得所有相关信息。 -
如果您在 2012 年以上,您应该查看 LEAD/LAG 函数。
-
Joe - 我无法控制当前存在的表。我无法删除/更新“网络”列。 Jeremy - 感谢您将我指向汇总命令。没听说过。
-
顺便说一下,这是我尝试过的东西——,ROW_NUMBER() OVER(PARTITION BY Coverage_CoverageID-Certificate_CertificateID-CoverageInYear ORDER BY CoverageInYear) AS NewNet
标签: sql-server group-by sum window-functions