2011-05-31 93 views
1

真正簡單的例子編號列表:選擇重複條目

比方說,我有這個表:

ID   Name 
GUID1  John 
GUID2  John 
GUID3  John 
GUID4  John 
GUID5  Jane 
GUID6  Jane 

我願做一個選擇它分配一個計數器同名的每一次出現(每次從1開始)。即:

ID   Name  Counter 
GUID1  John  1 
GUID2  John  2 
GUID3  John  3 
GUID4  John  4 
GUID5  Jane  1 
GUID6  Jane  2 

這樣鍵(Name,Counter)形成一個獨特的組合。

感謝
卡爾

回答

1
declare @T table(ID varchar(10), Name varchar(10)) 
insert into @T values 
('GUID1',  'John'), 
('GUID2',  'John'), 
('GUID3',  'John'), 
('GUID4',  'John'), 
('GUID5',  'Jane'), 
('GUID6',  'Jane') 

select 
    ID, 
    Name, 
    row_number() over(partition by Name order by ID) as Counter 
from @T 
order by ID 
+0

真棒,謝謝 – Karl 2011-05-31 13:58:04