将增量值更新到SQL列

时间:2011-10-10 13:09:04

标签: sql sql-server

我正在寻求以下查询的帮助:

我有一堆行TYPE,VERSION - 但是在某些情况下版本搞砸了所以我想重写它。

基本上,它现在看起来像这样:

Type, Version
A, 0
A, 0
A, 1
A, 2
B, 1
B, 3

我希望它看起来像这样:

Type, Version
A, 0
A, 1
A, 2
A, 3
B, 0
B, 1

任何帮助将不胜感激, 感谢

1 个答案:

答案 0 :(得分:5)

WITH T AS
(
SELECT *,
       ROW_NUMBER() OVER (PARTITION BY Type ORDER BY Version) - 1 AS V
FROM YourTable       
)
UPDATE T 
SET Version = V