상세 컨텐츠

본문 제목

오라클 비율구하기 RATIO_TO_REPORT 예제

프로그래밍/Oracle

by ........? 2016. 1. 26. 14:58

본문

오라클 비율구하기 RATIO_TO_REPORT 예제

 

한 회사 팀별로 팀원수가 전체인원 대비 차지 하는 비율(비중)을 구하고 싶을때

RATIO_TO_REPORT 를 활용

 

예제

SELECT "팀명",
       "인원수",
       RATIO_TO_REPORT("인원수") OVER() "팀원비중"
  FROM (SELECT '시스템팀' "팀명", 10 "인원수" FROM DUAL UNION ALL
        SELECT '재무팀' "팀명", 6 "인원수" FROM DUAL UNION ALL
        SELECT '마케팅팀' "팀명", 8 "인원수" FROM DUAL UNION ALL
        SELECT '업무지원팀' "팀명", 3 "인원수" FROM DUAL UNION ALL
        SELECT '기획팀' "팀명", 6 "인원수" FROM DUAL)

 

형태는 RATIO_TO_REPORT(칼럼) OVER()
OVER() 에는 당연히 PARTITION BY 를 사용할 수 있으며,

칼럼값의 백분율을 소수점으로 계산

 

결과

전체인원이 총 33명이고, 그 중 시스템팀이 10명, 비율은 약 30%

 

이처럼 RATIO_TO_REPORT 를 활용하면, 칼럼값이 전체에서 차지하는 비율을 구할때 유용

 

 

 

 

관련글 더보기

댓글 영역