将增量值更新到SQL列

Gal*_*Gal 2 sql sql-server

我正在寻找以下查询的一些帮助:

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

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

Type, Version
A, 0
A, 0
A, 1
A, 2
B, 1
B, 3
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

Type, Version
A, 0
A, 1
A, 2
A, 3
B, 0
B, 1
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ith 5

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