Skip Headers

오라클 10g 함수
10g Release 1 (10.1)
Go to Documentation Home
HOME
Go to Book List
ORA_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
ORA_10G
Go to Feedback page
MAIL

Go to previous page
Previous
Go to next page
Next

STATS_MODE

문법

MAIN

stats_mode::=
Description of stats_mode.gif follows

그림 설명
 

목적

MAIN

STATS_MODE함수는 값의 집합을 인수로 취하여, 가장 큰 빈도를 가지는 값을 반환한다. 오라클 데이터 베이스는 1개의 최대 빈도값을 선택하여 반환한다.

복수의 빈도를 획득하기 위하여(만약 복수 빈도가 존재하면), 불확정적인 쿼리에서 처럼 다른 함수의 조합을 이용해야한다.

SELECT x FROM (SELECT x, COUNT(x) AS cnt1
               FROM t GROUP BY x)
               WHERE cnt1 = (SELECT MAX(cnt2) FROM (SELECT COUNT(x) AS cnt2 FROM t GROUP BY x));

예제

MAIN


예제

다음 예제는 hr.employees 테이블에서 부서마다 급여의 최대 빈도를 반환한다.

SELECT department_id, STATS_MODE(salary) FROM employees
GROUP BY department_id;

DEPARTMENT_ID STATS_MODE(SALARY)
------------- ------------------
           10               4400
           20               6000
           30               2500
           40               6500
           50               2500
           60               4800
           70              10000
           80               9500
           90              17000
          100               6900
          110               8300
                            7000

만약 최대 빈도의 모든 값을 취할 필요가 있다면, 다음 예제 처럼 다른 함수의 조합을 이용해야한다.

SELECT commission_pct FROM
     (SELECT commission_pct, COUNT(commission_pct) AS cnt1 FROM employees
      GROUP BY commission_pct)
      WHERE cnt1 = (SELECT MAX (cnt2) FROM (SELECT COUNT(commission_pct) AS cnt2
                                            FROM employees GROUP BY commission_pct));

COMMISSION_PCT
--------------
            .2
            .3