在plsql中映射元素然后排序

Posted

技术标签:

【中文标题】在plsql中映射元素然后排序【英文标题】:Map element in plsql and then sort 【发布时间】:2013-08-19 13:14:03 【问题描述】:

我的问题是我有一个数据库列,让我们调用 x。

x 值为 0,1,2,3 。在我的 Java 应用程序中,每个数字都有自己的值,例如:

0 - expire
1 - approval
2 - pending
3 - counting

我需要做的是从按相关字符串值排序的数据库记录中进行选择

所以如果上面的选择结果将是:

1 - approval , 
3 - counting,
0 - expire
2 - pending.

我必须补充一点,在java中排序是不可能的,所以我需要在plsql站点中对记录进行排序。

谁能帮助我如何执行这种查询,

提前谢谢你

【问题讨论】:

【参考方案1】:

您可以在order by 子句中使用CASE 表达式或decode() 函数进行自定义排序:

-- sampe of data from 0 to 3
SQL> with t1(x) as(
  2    select level - 1
  3      from dual
  4    connect by level <= 4
  5  )
  6  select *  -- actual query
  7    from t1
  8   order by case x
  9              when 0 then 'expire'
 10              when 1 then 'approval'
 11              when 2 then 'pending'
 12              when 3 then 'counting'
 13            end
 14  ;
         X
----------
         1
         3
         0
         2 

【讨论】:

以上是关于在plsql中映射元素然后排序的主要内容,如果未能解决你的问题,请参考以下文章

桶排序计数排序和基数排序比较分析

排序算法 - 计数排序

排序算法——桶排序

桶排序算法

桶排序算法

用Java实现桶排序算法