ORACLE自定义顺序排序-转

ORACLE能够借助DECODE函数,自定义顺序排序:函数

复制代码
select * from (
    select 'Nick' as item from dual
    union all
    select 'Viki' as item from dual
    union all
    select 'Glen' as item from dual
    union all
    select 'Robin' as item from dual
    union all
    select 'Total' as item from dual
) pre_tab
order by decode(item, 'Viki', 1, 'Glen', 2, 'Robin', 3, 'Nick', 4, 'Total', 99);
复制代码

 

另外,在Report开发中,常须要将Total放最后,其它项则按其它排序方式(通常按正常的升序),可看做同一列有两种排序方式,那么能够这样:spa

复制代码
select * from (
    select 'Nick' as item from dual
    union all
    select 'Viki' as item from dual
    union all
    select 'Glen' as item from dual
    union all
    select 'Robin' as item from dual
    union all
    select 'Total' as item from dual
) pre_tab
order by decode(item, 'Total', 2, 1), item;
复制代码
相关文章
相关标签/搜索