我需要你的帮助:
(我在SQL Server 2008上工作)
表:
IdProj DocType NumDoc
00265 PC 1
00265 PC 1
00268 PC 1
00268 PC 1
00268 PC 1
00268 PC 1
00268 PC 1
00370 PC 1
00370 PC 1
00370 PC 1
我想获得:
IdProj DocType NumDoc
00265 PC 2
00265 PC 3
00268 PC 2
00268 PC 3
00268 PC 4
00268 PC 5
00268 PC 6
00370 PC 2
00370 PC 3
00370 PC 4
我认为IdProj和增量例程的小组是必要的,但我还没有解决方案。有人可以给我任何帮助吗? 非常感谢。
答案 0 :(得分:0)
您可以使用
;WITH CTE AS
(
SELECT *,
ROW_NUMBER() OVER (PARTITION BY IdProj ORDER BY IdProj) AS RN
FROM YourTable
)
UPDATE CTE
SET NumDoc = 1 + RN
问题中没有任何内容表明分区中需要任何特定的排序,因此按照与分区相同的值排序将会任意执行此操作。