SQL增量计数重复值?

Ken*_*Ken 4 sql sql-server sql-server-2008-r2

不知道如何问这个问题,我不是在寻找列中值的总数,而是想递增计数重复值。例如:

如果我的表如下所示:

1, ken
2, ken
3, adam
4, ken
5, adam
6, dan
Run Code Online (Sandbox Code Playgroud)

我想在选择期间添加一列,以重复的方式标记标签,如下所示:

1, ken, 1
2, ken, 2
3, adam, 1
4, ken, 3
5, adam, 2
6, dan, 1
Run Code Online (Sandbox Code Playgroud)

Siy*_*ual 5

你可以通过做ROW_NUMBER()一个PARTITION关于你的第二列,由第一顺序:

Select  Col1, 
        Col2, 
        Row_Number() Over (Partition By Col2 Order By Col1 Asc) As Col3
From    YourTable
Run Code Online (Sandbox Code Playgroud)