ela*_*row 4 sql t-sql sql-server
如何在特定列中创建具有出现次数的新列(inCount)?这是一个例子:
id name inCount
1 Orly 1
2 Ernest 1
3 Rachel 1
4 Don 1
5 Don 2
6 Ernest 2
7 Angela 1
8 Ernest 3
9 David 1
10 Rachel 2
11 Sully 1
12 Sully 2
13 Rachel 3
14 David 2
15 David 3
16 Kevin 1
17 Kevin 2
18 Orly 2
19 Angela 2
20 Sully 3
21 Kevin 3
22 Don 3
23 Orly 3
24 Angela 3
Run Code Online (Sandbox Code Playgroud)
来自id 5的Don编号为2,因为Don也出现在id 4中.由于上述事件的发生,来自id 22的Don编号为3.
我使用MS SQL SERVER 2008 R2 Express版.
谢谢.
您可以使用partition by,例如:
select row_number() over (partition by name order by id) as inCount
, *
from YourTable
order by
id
Run Code Online (Sandbox Code Playgroud)