SQL 服务器:每 5 条记录更新一次序列号

SQL Server : update every 5 records with serial number

我想每5条记录添加一个序列号。我的 table 中有一些列: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

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

您可以尝试类似的方法:

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

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