2015-07-19 36 views
-1

我需要你這種情況下幫助:SQL Server 2008的_組由+增量

(我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

您可以使用

;WITH CTE AS 
(
SELECT *, 
     ROW_NUMBER() OVER (PARTITION BY IdProj ORDER BY IdProj) AS RN 
FROM YourTable 
) 
UPDATE CTE 
SET NumDoc = 1 + RN 

中有表示任何特定的排序中的分區,這樣在相同的值排序的分區將做到這一點需要隨意的問題上什麼都沒有。