比如我有一个表
tab
col1 col2 col3
35 fds q
54 jhg 3
76 llfd s
77 vc 9现在我希望能够实现以col3列来排序
并且顺序是(q,9,3,s)
不知道能不能实现?
tab
col1 col2 col3
35 fds q
54 jhg 3
76 llfd s
77 vc 9现在我希望能够实现以col3列来排序
并且顺序是(q,9,3,s)
不知道能不能实现?
调试欢乐多
直接用union还是可以的
总觉得太苯
难道真没有其它办法了
我现在是确认ORACLE有没有这样的功能
比如:
select * from tab order by col3 ref ('q','9','3','s')根据col3这一列,按照('q','9','3','s')这样一个顺序排序tab表的数据当然了,这只是我杜撰的.不过根据上面的思路我有想到另外一个办法:
select col1,col2,case when col3='q' then 1 when col3='9' then 2 when col3='3' then 3 when col3='s' then 4 end rank from tab order by rank
排序的规律是什么
有根据ascii码来比较
如果是汉字,可能还可以根据拼音,部首,笔画来比较
但有时我们的排序可能需要一些特殊的要求
其实我来问这个问题
就是想知道ORACLE能不能自定义这种规律
少就导出数据重新按照col3顺序录入,然后直接查询。
多le,这样没有屁规律,至少lz没有提供的,就只能按照11楼说的那样来处理。