728x90
STATS_MODE
구문
STATS_MODE(expr)
목적
STATS_MODE 함수는 인수로 값을 가진 집합을 받아 가장 빈도가 높게 발생하는 값을 반환합니다. 여러 개의 모드가 존재하는 경우 Oracle Database는 하나를 선택하고 그 하나의 값을 반환합니다.
여러 모드를 얻으려면 (만약 여러 모드가 존재한다면) 가상의 쿼리에 표시된 것처럼 다른 함수들을 조합하여 사용해야 합니다.
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));
참고:
Oracle Database Globalization Support Guide의 부록 C는 문자열 값 expr을 비교하기 위해 STATS_MODE가 사용하는 정렬을 정의하는 정렬 결정 규칙(collation determination rules) 및 이 함수의 반환 값이 문자열 값인 경우에 할당되는 정렬을 정의하는 정렬 파생 규칙(collation derivation rules)에 대한 정보를 제공합니다.
예제
다음 예제는 hr.employees 테이블에서 부서별 급여의 모드(최빈값)를 반환합니다:
SELECT department_id, STATS_MODE(salary) FROM employees
GROUP BY department_id
ORDER BY department_id, stats_mode(salary);
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))
ORDER BY commission_pct;
COMMISSION_PCT
--------------
.2
.3
출처: 오라클 레퍼런스
원문 링크: Oracle STATS_MODE 함수 문서
반응형
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] STATS_ONE_WAY_ANOVA - 두 그룹의 분산 추정치 비교 (0) | 2023.08.20 |
---|---|
[오라클 레퍼런스 함수] STATS_MW_TEST - 두 모집단 비교 통계 검정(test) (0) | 2023.08.20 |
[오라클 레퍼런스 함수] STATS_KS_TEST - 두 샘플 간의 분포 차이 검정 (0) | 2023.08.19 |
[오라클 레퍼런스 함수] STATS_F_TEST - 두 분산의 유의미한 차이 확인 (0) | 2023.08.19 |
[오라클 레퍼런스 함수] STATS_CROSSTAB - 두 변수 간의 관련성 분석 (0) | 2023.08.18 |
댓글