我已将整数行SortNo
添加到现有SQL表中。
现在我想填充新的integer
列SortNo
,其中整数上升10(10,20,30,...),但我希望行由另一个{{1}排序1}}列nvarchar
。
我无法使用更新,因为它会以随机顺序设置Name
,而不是SortNo
排序。
那么,我如何填写Name
订购的SortNo
?
答案 0 :(得分:4)
您可以使用可更新的CTE和窗口函数来执行此操作:
with toupdate as (
select t.*,
row_number() over (order by [Name]) as seqnum
from t
)
update toupdate
set sortno = 10 * seqnum;
答案 1 :(得分:1)
试试这个..
UPDATE x
SET x.[SortNo] = x.[SortNo]
FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY [Name]) * 10 AS [SortNo]
FROM table
) x