id orderBy
1 1
2 2
3 3
以上是表结构 .
我想实现以传入id 的顺序来修改它们的orderBy . 如传入 "3,2,1" 正确结果如下:
id orderBy
3 1
2 2
1 3
求update如何实现 .
------解决思路----------------------
SELECT T1.id,T2.RN FROM TB T1
JOIN(SELECT ROW_NUMBER()OVER(ORDER BY GETDATE())RN,id FROM 传入id) T2 ON T1.id=T2.id
ORDER BY T2.RN
------解决思路----------------------
我应该明白你的意思了,这个非常非常简单,你的表不是有两列id orderBy吗,设计表的时候 把orderby属性设置为identity(1,1)就可以了,比如create table T(ID int not null, OrderBy int identity(1,1) not null )这样插入数据的时候会自动按照ID的插入顺序补上OrderBy,递增的哦