id item
001 1
001 2
001 3
001 4
001 5
001 6
001 7
001 8
001 9
001 10
现在根据每3条切成1个组
用UPDATE语句或者其他办法(最好用UPDATE语句)把上面的数据更新如下:
001 1
001 2
001 3
002 1
002 2
002 3
003 1
003 2
003 3
004 1请高手指点!
001 1
001 2
001 3
001 4
001 5
001 6
001 7
001 8
001 9
001 10
现在根据每3条切成1个组
用UPDATE语句或者其他办法(最好用UPDATE语句)把上面的数据更新如下:
001 1
001 2
001 3
002 1
002 2
002 3
003 1
003 2
003 3
004 1请高手指点!
set ID=(Item-1)/3+1
declare @t table(id varchar(4),item int)
insert into @t values('001',1 )
insert into @t values('001',2 )
insert into @t values('001',3 )
insert into @t values('001',4 )
insert into @t values('001',5 )
insert into @t values('001',6 )
insert into @t values('001',7 )
insert into @t values('001',8 )
insert into @t values('001',9 )
insert into @t values('001',10) update @t
set
id='00'+rtrim(1+(item-1)/3),item=case item%3 when 0 then 3 else item%3 end
select * from @t
/*
id item
---- -----------
001 1
001 2
001 3
002 1
002 2
002 3
003 1
003 2
003 3
004 1
*/
set ID=(Item-1)/3+1,item=(Item-1)%3+1
declare @t table(id varchar(4),item int)
insert into @t values('001',1 )
insert into @t values('001',2 )
insert into @t values('001',3 )
insert into @t values('001',4 )
insert into @t values('001',5 )
insert into @t values('001',6 )
insert into @t values('001',7 )
insert into @t values('001',8 )
insert into @t values('001',9 )
insert into @t values('001',10)
update t
set ID=right((Item-1)/3+1001,3),item=(Item-1)%3+1
from @T tselect * from @Tid item
---- -----------
001 1
001 2
001 3
002 1
002 2
002 3
003 1
003 2
003 3
004 1