查找重复值的出现

-1 sql t-sql sql-server ssis

我有包含 3 列(id、名称、出现次数)的表,我想根据 id 列更新出现次数列,附上快照以供参考。

在此输入图像描述

例如,如果我的 id 列有“606”值 3 次,那么我出现的列在所有“606”值中应该有 3 次。

下面是我尝试过的方法。

我尝试使用group byandHaving子句查找重复值并将其保存在临时表中,然后从那里尝试连接临时表中的表值。

Stu*_*Stu 7

为此,您可以在可更新的 CTE中使用窗口函数。

您尚未提供任何实际的示例数据,因此未经测试,但以下内容应该有效:

with x as (
  select Id, Occurence, count(*) over(partition by Id) qty
  from Table
)
update x 
set Occurence = Qty;
Run Code Online (Sandbox Code Playgroud)