순위 관련 문의 드립니다. 0 1 692

by 레알 [SQL Query] [2016.06.29 11:08:53]


안녕하세요 
아래 RANK 와 OVER를 사용해 순위와 총원을 구하는중인데
조건절에 사번이 들어가면 1/1 로 나옵니다.
사번으로 검색해도 사번이 있는 커리큘럼에 순위와 총원을 구할수 있는방법이 어떻게 될까요...

WITH T (CURRI_ID,SOCRE, EMP_ID) AS(
SELECT '0011', 88, 123 FROM DUAL UNION ALL  
SELECT '0011', 77, 124  FROM DUAL UNION ALL 
SELECT '0011', 99, 127  FROM DUAL UNION ALL 
SELECT '0015', 94, 123  FROM DUAL UNION ALL
SELECT '0015', 90, 124  FROM DUAL UNION ALL
SELECT '0015', 80, 134  FROM DUAL UNION ALL
SELECT '0015', 74, 135  FROM DUAL UNION ALL
SELECT '0016', 55, 136  FROM DUAL UNION ALL
SELECT '0016', 66, 123  FROM DUAL UNION ALL
SELECT '0016', 90, 124  FROM DUAL UNION ALL
SELECT '0016', 80, 134  FROM DUAL UNION ALL
SELECT '0016', 88, 146  FROM DUAL  
)
SELECT CURRI_ID, EMP_ID, SOCRE
     , RANK() OVER (PARTITION BY CURRI_ID ORDER BY CURRI_ID, SOCRE DESC) ||'/'|| COUNT(CURRI_ID) OVER (PARTITION BY CURRI_ID) RANKING
  FROM T
 WHERE 1=1
   AND EMP_ID = 124
by 개발뉴비 [2016.06.29 11:24:05]
SELECT * FROM (
SELECT CURRI_ID, EMP_ID, SOCRE
     , RANK() OVER (PARTITION BY CURRI_ID ORDER BY CURRI_ID, SOCRE DESC) ||'/'|| 
       COUNT(CURRI_ID) OVER (PARTITION BY CURRI_ID) RANKING
  FROM TT)
WHERE EMP_ID = 124
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입