0

SQL SERVER在尝试使用适当的 Rank 函数时,我需要一些建议和帮助。

基本上,我想要做的是计算数据中重复合同协议的次数。中Excel,我用Count(A:A;A2)

Cust_Nr    Contract Agreement Nr
5639232    19243062
10072067   3316516
10072067   3316516
5639232    19243062
20095770   49940680
10072067   3316516

我的问题是,有没有办法使用 Rank of Rank Dense 函数来计算 acontract agreement Nr出现多次的次数?例如,contract agreement nr:3316516出现两次。我想要一个显示这一点的另一列:

Cust_Nr    Contract Agreement Nr  Duplicate
5639232    19243062
10072067   3316516                3
10072067   3316516                3
5639232    19243062
20095770   49940680
10072067   3316516                3

所以contract agreement nr 3316516在数据中一共出现了 3 次。

我怎样才能做到这一点?

4

1 回答 1

2

只需使用它,不需要排名:

select *, count(*) over (partition by [Contract Agreement Nr]) as RowsPerContractNumber
from MyTable

编辑:如果您希望非重复行为空白,请使用:

select *
, case count(*) over (partition by [Contract Agreement Nr]) 
    when 1 then ''
    else cast(count(*) over (partition by [Contract Agreement Nr]) as varchar)
end
as RowsPerContractNumber
from MyTable
于 2015-05-18T17:24:53.673 回答