2013-07-15 83 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