median()
표현식이 반환하는 값들의 중앙값(50번째 백분위수)을 계산합니다.
문법
median(EXPR [, INTERPOLATION])
매개변수
EXPR- 중앙값을 구할 값을 반환하는 표현식.
INTERPOLATION- (선택) 정확히 중앙 위치에 데이터가 없을 때 인접한 두 값을 처리하는 방식. 기본값은
"linear"입니다."linear": 두 값 사이의 위치에 따른 가중 평균을 계산합니다."midpoint": 두 값의 평균을 계산합니다."lower": 두 값 중 더 작은 값을 선택합니다."higher": 두 값 중 더 큰 값을 선택합니다."nearest": 두 값 중 중앙 위치에 더 가까운 값을 선택합니다.
설명
median() 함수는 내부적으로 percentile(EXPR, 50.0 [, INTERPOLATION])과 동일하게 동작합니다. 전체 값을 정렬한 후 50번째 백분위에 해당하는 값을 반환합니다. null 값은 무시됩니다. 숫자가 아닌 값도 정렬하여 중앙값을 구할 수 있으나, 보간(INTERPOLATION) 계산은 숫자에만 적용됩니다.
stats, timechart 등 집계 명령어에서 사용합니다.
median() 함수는 내부적으로 외부 병합 정렬(external merge sort)을 사용합니다. 그룹 내 값을 모두 수집하여 정렬한 후 중앙 위치의 값을 읽으므로, 처리하는 레코드 수에 비례하여 메모리와 임시 디스크 공간을 사용합니다.
오류 코드
| 코드 | 설명 |
|---|---|
| 91020 | 필수 매개변수가 누락되었거나 인자가 올바르지 않습니다. |
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
전체 요청의 응답 크기 중앙값 계산
table WEB_APACHE_SAMPLE | stats median(bytes) -
HTTP 메서드별 응답 크기 중앙값 계산
table WEB_APACHE_SAMPLE | stats median(bytes) by method -
midpoint 보간 옵션 사용
table WEB_APACHE_SAMPLE | stats median(bytes, "midpoint") by method -
NULL 값 처리
json "[{'val': 10}, {'val': null}, {'val': 30}]" | stats median(val) | # median(val): 20
호환성
median() 함수는 소나 4.0.2404.0-u3072부터 사용 가능합니다.