2013-07-15 84 views
0

重複數據可以說我有一個表,如下所示:例如在表

table = (Key int, ID int) 

我需要能夠逐步編號ID列的每個重複實例。 例如,如果我們有數據的樣本,看起來像這樣:

ID 
-- 
99 
100 
101 
102 
103 
100 
101 
102 
103 

我需要一個查詢,可以返回以下結果:

99 1 
100 1 
101 1 
102 1 
103 1 
100 2 
101 2 
102 2 
103 2 

我似乎無法得到這個工作。任何人都可以幫忙嗎?

+0

什麼版本的SQL服務器? –

+0

SQL Server 2008 R2 – BlueChameleon

回答

1

可以使用ROW_NUMBER功能:

SELECT 
ID, 
ROW_NUMBER() OVER (PARTITION BY ID ORDER BY ID) RowNum 
FROM Table 
ORDER BY RowNum, ID 

樣品結果here

+0

謝謝。當我嘗試去做時,我錯過了「通過分區」。 – BlueChameleon

0

似乎是一個簡單ROW_NUMBER(),除非我失去了一些東西:

SELECT ID, ROW_NUMBER() OVER (PARTITION BY ID, ORDER BY Key) 
FROM Table