我有一个生成以下输出的查询。
PART TEST
---- ----
10 2
10 4
10 5
11 1
11 2
11 4
11 5
17 1
17 2
17 3
17 4
17 5
18 1
18 2
18 3
18 4
18 5
我正在尝试从 1 开始重新编号 TEST。
PART NEW_TEST OLD_TEST
---- -------- --------
10 1 2
10 2 4
10 3 5
11 1 1
11 2 2
11 3 4
11 4 5
17 1 1
17 2 2
17 3 3
17 4 4
17 5 5
我一直在玩 RANK() 和 ROW_NUMBER() 函数,但没有得到我想要的结果。
select DISTINCT
mptc.PART,
RANK() OVER(ORDER BY mptc.PART ASC) AS TEST,
ROW_NUMBER() OVER(PARTITION BY mptc.PART ORDER BY tpc.TEST ASC),
tpc.TEST
from ri.TESTS tpc
join ri.PARTS mptc
on tpc.PART_SYSID = mptc.PART
ORDER BY mptc.PART ASC
是否有另一个功能可以做到这一点……我不知道的功能?
感谢 jlimited