假设我有一张看起来像这样的表:
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 :(得分:1)
您可以使用ROW_NUMBER
功能:
SELECT
ID,
ROW_NUMBER() OVER (PARTITION BY ID ORDER BY ID) RowNum
FROM Table
ORDER BY RowNum, ID
示例结果here
答案 1 :(得分:0)
看起来像一个简单的ROW_NUMBER(),除非我遗漏了一些东西:
SELECT ID, ROW_NUMBER() OVER (PARTITION BY ID, ORDER BY Key)
FROM Table