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
*/
댓글 없음:
댓글 쓰기