페이지

2013년 2월 22일 금요일

oracle 한행에 보여주기


SELECT X.JOB,
       COUNT(*) AS CNT,
       SUBSTR(MAX(SYS_CONNECT_BY_PATH(ENAME, '/')), 2) AS ENAMES
  FROM (SELECT JOB,
               ENAME,
               ROW_NUMBER() OVER(PARTITION BY JOB ORDER BY ENAME) SEQ
          FROM SCOTT.EMP
        --      WHERE job = 'CLERK'
        ) X
 START WITH SEQ = 1
CONNECT BY PRIOR SEQ = SEQ - 1
       AND PRIOR JOB = JOB
 GROUP BY JOB
 /*
 1 CLERK     4 ADAMS/JAMES/MILLER/SMITH
 2 SALESMAN  4 ALLEN/MARTIN/TURNER/WARD
 3 PRESIDENT 1 KING
 4 MANAGER   3 BLAKE/CLARK/JONES
 5 ANALYST   2 FORD/SCOTT
 */

댓글 없음:

댓글 쓰기