根据记录号更新列

时间:2013-10-22 15:08:01

标签: sql sql-server sql-update row-number

我正在创建一个名为“Deciles”的列。我需要根据行号的范围填充每个十分位数。所以'Decile 1'将在第1行和第364000行之间。我最近使用的语法没有用。请记住,我不是程序员。 (SQL Server 2008是我正在使用的环境)。 HELP !!

update dbo.August_Deciles
set Deciles = 'Decile 1'
Row_Number() over (Order By Row_Number())
between Row_Number(1) and  Row_Number(326424) 

1 个答案:

答案 0 :(得分:0)

你可以试试这个CTE:

WITH CTE AS
(
    SELECT Deciles,
           RN = ROW_NUMBER() OVER (ORDER BY Deciles ASC)
    FROM dbo.August_Deciles
)
UPDATE CTE SET Deciles = 'Decile ' + CAST(RN as int)

您应该使用有意义的订单替换ORDER BY Deciles ASC