如何根据序号串显示

一瑰蓝玫 2013-12-04 09:43:09
Select A from 表B where 序号 in(1,2,6,4,5)

显示出来的列表如何根据 1,2,6,4,5 序号 排序 显示出来
...全文
262 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
gangma2 2014-03-06
  • 打赏
  • 举报
回复
上面的语句有点错误,模拟了下:
select * from (select a.*,rownum rn from users a ) order by rn asc
结果:
gangma2 2014-03-05
  • 打赏
  • 举报
回复
我感觉可以先对其进行加编号,在编号的降序查询: select B.列名 from A(select C.*,C rn from A c)order by decode C.row;
善若止水 2013-12-24
  • 打赏
  • 举报
回复
引用 10 楼 u011820742 的回复:
[quote=引用 8 楼 zhaoxiangchong 的回复:] 在where条件后面用order by 语句,有什么不妥吗?
Order by 只是根据序号的大小进行 顺序或倒叙的排列 Select A from 表B where 序号 in(1,2,6,4,5) 我让6序号的记录 排列在4 和 5前面 所以实现不了 [/quote] 明白了,这是需求的要求
一瑰蓝玫 2013-12-21
  • 打赏
  • 举报
回复
Select * from A where 序号 in(1,2,6,4,5)) ORDER BY INSTR(1,2,6,4,5,序号) 用INSTR函数 找到了 同样谢谢各位回答
一瑰蓝玫 2013-12-21
  • 打赏
  • 举报
回复
引用 8 楼 zhaoxiangchong 的回复:
在where条件后面用order by 语句,有什么不妥吗?
Order by 只是根据序号的大小进行 顺序或倒叙的排列 Select A from 表B where 序号 in(1,2,6,4,5) 我让6序号的记录 排列在4 和 5前面 所以实现不了
一瑰蓝玫 2013-12-21
  • 打赏
  • 举报
回复
引用 4 楼 zlloct 的回复:
[quote=引用 2 楼 u011820742 的回复:] 这么做 序号可以改变顺序 对应的记录能否改变?
个人觉得#1可行,这样做就动态的对每条记录进行了编号。[/quote] 我想要达到的效果 是记录 根据序号的顺序排列出来
善若止水 2013-12-10
  • 打赏
  • 举报
回复
在where条件后面用order by 语句,有什么不妥吗?
archwuke1 2013-12-09
  • 打赏
  • 举报
回复
看不懂,这个序号不是个字段吗
shenlele088 2013-12-09
  • 打赏
  • 举报
回复
引用 5 楼 kingkingzhu 的回复:
Select A from 表B where 序号 in(1,2,6,4,5) order by decode(序号,1,1,2,2,6,3,4,4,5,5)
这个方法好,不过要想灵活还是将此对应关系入库成表,然后按照显示顺序字段显示
一瑰蓝玫 2013-12-04
  • 打赏
  • 举报
回复
这么做 序号可以改变顺序 对应的记录能否改变?
Yole 2013-12-04
  • 打赏
  • 举报
回复
引用 楼主 u011820742 的回复:
Select A from 表B where 序号 in(1,2,6,4,5) 显示出来的列表如何根据 1,2,6,4,5 序号 排序 显示出来

Select A,case when 序号=1 then 1 
when 序号=2 then 2
when 序号=6 then 3
when 序号=4 then 4
when 序号=5 then 5
else 999
end as px
from 表B where 序号 in(1,2,6,4,5)
order by px

要是动态的就循环拼串吧。
kingkingzhu 2013-12-04
  • 打赏
  • 举报
回复
Select A from 表B where 序号 in(1,2,6,4,5) order by decode(序号,1,1,2,2,6,3,4,4,5,5)
CT_LXL 2013-12-04
  • 打赏
  • 举报
回复
引用 2 楼 u011820742 的回复:
这么做 序号可以改变顺序 对应的记录能否改变?
个人觉得#1可行,这样做就动态的对每条记录进行了编号。
xu176032 2013-12-04
  • 打赏
  • 举报
回复
Select A from 表B where 序号='1' union all Select A from 表B where 序号='2' ... 这样一定是按照你的顺序来显示的,不过这样有什么意义么?

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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