SQL 服务器:每 5 条记录更新一次序列号
SQL Server : update every 5 records with serial number
我想每5条记录添加一个序列号。我的 table 中有一些列:flag
、seq_no
和 page_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
的值设置为您想要的值。
我想每5条记录添加一个序列号。我的 table 中有一些列:flag
、seq_no
和 page_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
的值设置为您想要的值。