0

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

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

1 回答 1

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用有意义的顺序替换。

于 2013-10-22T15:14:10.313 回答