小编Gab*_*tiz的帖子

Oracle 10g SQL排序VARCHAR2

我正在使用oracle 10g进行排序问题.不确定它是否特定于10g.

我有下表:

ID  NAME
 1  A.1
 2  A.3
 3  A.4
 4  A.5
 5  A.2
 6  A.5.1
 7  A.5.2
 8  A.5.10
 9  A.5.10.1
10  A.5.3
Run Code Online (Sandbox Code Playgroud)

执行通用SELECT NAME FROM table_name ORDER BY 1产品:

A.1
A.2
A.3
A.4
A.5
A.5.1
A.5.10
A.5.10.1
A.5.2
A.5.3
Run Code Online (Sandbox Code Playgroud)

当这些部分的数字大于9时,我希望它能正确排序,如下所示:

A.1
A.2
A.3
A.4
A.5
A.5.1
A.5.2
A.5.3
A.5.10
A.5.10.1
Run Code Online (Sandbox Code Playgroud)

我有更多的数字条目,不同的长度和许多数字段大于10的部分.我试图在order by子句中乱用regexp_replace(),但没有运气.任何帮助将不胜感激.

sql sorting oracle oracle10g varchar2

6
推荐指数
1
解决办法
723
查看次数

分层查询需要拉动孩子,父母和兄弟姐妹

现在可以提取数据,但我想知道是否有更好的方法来优化大数据集的查询.

http://sqlfiddle.com/#!4/0ef0c/5

所以基本上我希望能够提供给定的组织ID的查询,并递归拉它的父母,它的孩子,它的兄弟姐妹和它的阿姨和叔叔.然后拉出与该组织层次结构关联的所有活动.

Org1是顶级组织,但它可能有也可能没有null父级.

基本上我是在做一个向上和向下的查询来拉动孩子和父母,但似乎只能通过添加另一个查询来获得兄弟姐妹.最后在朋友的帮助下得到了另一个查询,但它在大数据集上非常低(4-5k的活动).

任何见解将不胜感激.

sql oracle connect-by hierarchy

5
推荐指数
1
解决办法
1151
查看次数

标签 统计

oracle ×2

sql ×2

connect-by ×1

hierarchy ×1

oracle10g ×1

sorting ×1

varchar2 ×1