3
我有一個項目列表,我需要重新排序,沒有空白。一開始會:SQL重新序列記錄
ID Sequence
123 1
125 2
155 3
158 4
165 6
170 9
我需要到結束(注意順序6個變爲5和序列9對6)
ID Sequence
123 1
125 2
155 3
158 4
165 5
170 6
我已經使用這個update語句
嘗試UPDATE tblA
SET tblA.Sequence = temp.Sequence
FROM (SELECT id ,
ROW_NUMBER() OVER (ORDER BY Sequence, ID) AS Sequence
FROM dbo.tblA
) AS temp
但我剛剛結束了......
ID Sequence
123 1
125 1
155 1
158 6
165 6
170 6
從更新中提取select語句會產生正確的結果。 將其更改爲類似
UPDATE tblA
SET tblA.Sequence = temp.NewSequence
FROM (SELECT id ,
ROW_NUMBER() OVER (PARTITION BY id ORDER BY Sequence, id)
AS NewSequence
FROM dbo.tblA
) AS temp
生成結果
ID Sequence
123 1
125 1
155 1
158 1
165 1
170 1
我在做什麼錯?
那是什麼我需要。謝謝! – JupiterP5