다음을 통해 공유


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: 집계에 사용되는 행을 필터링하는 선택적 부울 식입니다.

반품

집계 함수는 값보다 작거나 해당 값과 같지 않도록 percentileexpr 정렬된 그룹에서 가장 작은 값(최소에서 가장 큰 값으로 정렬됨)인 식을 반환합니다. 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