2

我想update nth在表格中记录

UPDATE ROW_NUMBER(3) table_name SET column1=value1, column2=value2

这行不通。。

4

2 回答 2

7

如果您使用的是 SQL Server 2005 及更高版本,请使用 CTE。

您可以尝试以下方法(我的语法在设计上太久了):

WITH CTE AS
(
    SELECT ROW_NUMBER() OVER (ORDER BY columnToUseForOrder) AS RowNumber,
           column1,
           column2
    FROM  table_Name
 )

 UPDATE CTE Set column1= value1, column2=value2 WHERE RowNumber = 3

使用 CTE,您应该能够更新第 n 个行数。玩这个,你应该能够想出各种解决方案。

于 2013-01-29T12:32:33.277 回答
3

row_number将按orderingColumn. 所以,根据需要更换它。@value1, @value2并且@Nth_Number变量

update A set column1= @value1, column2= @value2
from ( select column1, column2, 
              row_number() over (order by orderingColumn) rn from yourTable) A
where rn  = @Nth_Number

如果你value1, value2然后尝试

update A set column1= value1, column2= value2
from ( select column1, column2, value1, value2
              row_number() over (order by orderingColumn) rn from yourTable) A
where rn  = @Nth_Number
于 2013-01-29T12:41:28.910 回答