declare @table table (id int,username varchar(1),[order] int) insert into @table select 1,'a',1 union all select 2,'b',2 union all select 3,'c',3 union all select 4,'d',4 union all select 5,'e',5 --原表 select * from @table /* id username order ----------- -------- ----------- 1 a 1 2 b 2 3 c 3 4 d 4 5 e 5 */ --例如选中4,点上移 declare @i int set @i=4update @table set [order]=[order]-1 where [order]=@i update @table set [order]=@i where id=(select top 1 id from @table where [order]=@i-1 order by id)select * from @table /* id username order ----------- -------- ----------- 1 a 1 2 b 2 3 c 4 4 d 3 5 e 5 */ 下移同理
--然后得到表中数据的时候 select * from tablename order by [order]
select username fron table
order by order
declare @table table (id int,username varchar(1),[order] int)
insert into @table
select 1,'a',1 union all
select 2,'b',2 union all
select 3,'c',3 union all
select 4,'d',4 union all
select 5,'e',5
--原表
select * from @table
/*
id username order
----------- -------- -----------
1 a 1
2 b 2
3 c 3
4 d 4
5 e 5
*/
--例如选中4,点上移
declare @i int set @i=4update @table set [order]=[order]-1 where [order]=@i
update @table set [order]=@i
where id=(select top 1 id from @table where [order]=@i-1 order by id)select * from @table
/*
id username order
----------- -------- -----------
1 a 1
2 b 2
3 c 4
4 d 3
5 e 5
*/
下移同理
select * from tablename order by [order]