SQL Server:使用序列号更新每5条记录

时间:2015-10-09 04:16:56

标签: sql-server sql-server-2000

我想根据每5条记录添加序列号。我的表格中有一些列:flagseq_nopage_no

如果seq_no等于1,2,3,4,5,page_no将更新并设为1.

如果seq_no等于6,7,8,9,10,page_no将更新并设置为2,依此类推。

我正在使用SQL Server 2000。

我的代码如下,但错误:

    --set page_no
Declare @page_number int
Declare @i int, @k int

set @i = 1
set @k = 1

while @k <= 5
begin
     update dbo.test
     set @page_number = page_no = case 
                                    when @k = 5 then  (@i + 1)
                                    else @i
                                  end
     where flag = 'right'

     set @k = @k + 1
end

我该怎么办?请帮助我,非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方式:

UPDATE dbo.test
SET page_no = ((seq_no - 1) / 5) + 1

这会根据page_no的值将seq_no的值设置为您想要的值。