percentile_approx
집계 함수
적용 대상: Databricks SQL Databricks Runtime
그룹 내 expr
의 백분위수 근사치를 반환합니다. 이 함수는 approx_percentile 집계 함수의 동의어입니다.
구문
percentile_approx ( [ALL | DISTINCT ] expr, percentile [, accuracy] ) [FILTER ( WHERE cond ) ]
이 함수는 OVER
절을 사용하여 창 함수로 호출할 수도 있습니다.
인수
expr
: 숫자 식입니다.percentile
: 0에서 1 사이의 숫자 리터럴 또는 각각 0에서 1 사이인 숫자 값의 리터럴 배열입니다.accuracy
: 0보다 큰 INTEGER 리터럴입니다. 정확도를 생략하면10000
으로 설정됩니다.cond
: 집계에 사용되는 행을 필터링하는 선택적 부울 식입니다.
반품
집계 함수는 정렬된 그룹(최솟값에서 최댓값 순으로 정렬됨)에서 가장 작은 값인 식을 반환하여 expr
값의 최대 percentile
이 해당 값보다 작거나 같도록 합니다.
percentile
이 배열 percentile_approx이면 지정된 백분위수에 있는 expr
의 백분위수 근사치 배열을 반환합니다.
accuracy
매개 변수는 메모리를 댓가로 근사치 정확도를 제어합니다.
정확도 값이 높을수록 정확도가 향상되며, 1.0/accuracy
는 근사치의 상대 오차입니다.
DISTINCT
가 지정되면 함수는 고유한 expr
값 집합에서만 작동합니다.
예제
> SELECT percentile_approx(col, array(0.5, 0.4, 0.1), 100)
FROM VALUES (0), (1), (2), (10) AS tab(col);
[1,1,0]
> SELECT percentile_approx(col, 0.5, 100)
FROM VALUES (0), (6), (7), (9), (10), (10), (10) AS tab(col);
9
> SELECT percentile_approx(DISTINCT col, 0.5, 100)
FROM VALUES (0), (6), (7), (9), (10), (10), (10) AS tab(col);
7