请问informix如何让查询结果按照指定顺序排序?

select*from表orderbysunxun这个查询查出的结果只能按sunxun这个字段要么升序排要么降序排而现在要求按照指定的顺序排比如sunxun这个字段的值可... select * from 表 order by sunxun
这个查询 查出的结果 只能按sunxun这个字段 要么升序排要么降序排 而现在要求按照指定的顺序排 比如 sunxun 这个字段的值可能是 A或B或C或D 升序 降序只能排出ABCD 或DCBA 而我现在想要的是BCAD 请问这个排序怎么写?
请一定注意,我的数据库是informix,不是sqlserverse,如果oracle也有办法的话还请一并回答,谢谢。
展开
 我来答
大大虫
高粉答主

2014-02-26 · 醉心答题,欢迎关注
知道大有可为答主
回答量:4.2万
采纳率:76%
帮助的人:1.4亿
展开全部
先建一个临时表,例如:

create table sort_table
(
sort_seq integer,
sort_name char(50) --内容为你“表”的sunxun列
);
按你需要的顺序,插入数据,比如:(1,"B") (2,"C") (3,"A") (4,"D")

select 表.* from 表, sort_table
where 表.sunxun=sort_table.name
order by sort_table.sort_seq
追问
是个好办法,很通用,但是请问你还知道有没有简单点,不那么麻烦的办法呢?
追答
再简单的没有,这已经很简单了
其实只要把sunxun列uniq选出来,unload到文本,然后编辑一下,加上顺序号,load到临时表里就行了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式