다음을 통해 공유


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