sqlserver 根据顺序传入id 修改OrderBy

EEEEEERROR 2014-12-30 11:16:28


id orderBy
1 1
2 2
3 3
以上是表结构 .
我想实现以传入id 的顺序来修改它们的orderBy . 如传入 "3,2,1" 正确结果如下:
id orderBy
3 1
2 2
1 3

求update如何实现 .
...全文
232 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
山寨DBA 2014-12-30
  • 打赏
  • 举报
回复
引用 4 楼 forever_code 的回复:
[quote=引用 2 楼 hwhmh2010 的回复:] ID传入的时候顺序是固定的?要么升序要么降序?会不会出现既有升序又有降序的情况? 假设没有:可以使用row_number() order by ID 或者row_number() order by ID desc
以传入id的顺序作为顺序排序 .. 传入id 不是固定 . 有可能是 '2,1,3' 这个时候 2 的orderBy为1 ,1的为2 ... 排序是升序[/quote] 我应该明白你的意思了,这个非常非常简单,你的表不是有两列id orderBy吗,设计表的时候 把orderby属性设置为identity(1,1)就可以了,比如create table T(ID int not null, OrderBy int identity(1,1) not null )这样插入数据的时候会自动按照ID的插入顺序补上OrderBy,递增的哦
还在加载中灬 2014-12-30
  • 打赏
  • 举报
回复
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
EEEEEERROR 2014-12-30
  • 打赏
  • 举报
回复
引用 5 楼 ky_min 的回复:
SELECT T1.* 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

没有达到我想要的结果 .不过还是谢谢你了
还在加载中灬 2014-12-30
  • 打赏
  • 举报
回复
SELECT T1.* 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
EEEEEERROR 2014-12-30
  • 打赏
  • 举报
回复
引用 2 楼 hwhmh2010 的回复:
ID传入的时候顺序是固定的?要么升序要么降序?会不会出现既有升序又有降序的情况? 假设没有:可以使用row_number() order by ID 或者row_number() order by ID desc
以传入id的顺序作为顺序排序 .. 传入id 不是固定 . 有可能是 '2,1,3' 这个时候 2 的orderBy为1 ,1的为2 ... 排序是升序
EEEEEERROR 2014-12-30
  • 打赏
  • 举报
回复
引用 1 楼 ky_min 的回复:
SELECT * FROM TB ORDER BY CHARINDEX(id,传入id),id
不明白 ..请指点, 传入id 是一张临时表
山寨DBA 2014-12-30
  • 打赏
  • 举报
回复
ID传入的时候顺序是固定的?要么升序要么降序?会不会出现既有升序又有降序的情况? 假设没有:可以使用row_number() order by ID 或者row_number() order by ID desc
还在加载中灬 2014-12-30
  • 打赏
  • 举报
回复
SELECT * FROM TB ORDER BY CHARINDEX(id,传入id),id
EEEEEERROR 2014-12-30
  • 打赏
  • 举报
回复
引用 7 楼 ky_min 的回复:
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
正确答案 . 感谢

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧