2014-07-23 27 views
0
select 
    desig_id,ename, 
    desig_desc, 
    mobile,email, 
    hl_id, 
    substr(SYS_CONNECT_BY_PATH(job_desc, ';'),1) 
from 
(
select 
    desig_id,ename, 
    desig_desc, 
    mobile, 
    email, 
    hl_id, 
    job_desc, 
    count(*) OVER (partition by hl_id) cnt, 
    ROW_NUMBER() OVER (partition by hl_id order by desig_id asc) seq 
from assignjob 
where 
    hl_id is not null and 
    br_name ='Information Technology Div.' 
) 
where 
    seq=cntstart with seq=1 connect by prior seq+1=seq and prior hl_id=hl_id ; 

在上面的sql中,我試圖按照指定id的升序對數據進行排序。但不知道在哪裏按關鍵字排序來完成這項工作。 請幫我做到這一點。想要通過Desig id對數據排序進行排序,但徒勞

回答

0

我會嘗試爲把它到底

select 
    desig_id,ename, 
    desig_desc, 
    mobile,email, 
    hl_id, 
    substr(SYS_CONNECT_BY_PATH(job_desc, ';'),1) 
from 
(
select 
    desig_id,ename, 
    desig_desc, 
    mobile, 
    email, 
    hl_id, 
    job_desc, 
    count(*) OVER (partition by hl_id) cnt, 
    ROW_NUMBER() OVER (partition by hl_id order by desig_id asc) seq 
from assignjob 
where 
    hl_id is not null and 
    br_name ='Information Technology Div.' 
) 
where 
    seq=cntstart with seq=1 connect by prior seq+1=seq and prior hl_id=hl_id 
order by desig_id ; 
0

使用通過在CONNECT BY結束順序:

select 
    desig_id,ename, 
    desig_desc, 
    other fields 
from 
(
    --------All inner query here -------------- 
) 
where 
    seq=cntstart with seq=1 connect by prior seq+1=seq and prior hl_id=hl_id 
    ORDER BY DESIG_ID 
; 

樣品小提琴here

相關問題