다음을 통해 공유


approx_percentile 집계 함수

적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime

그룹 내 expr의 백분위수 근사치를 반환합니다.

구문

approx_percentile ( [ALL | DISTINCT] expr, percentile [, accuracy] ) [ FILTER ( WHERE cond ) ]

이 함수는 OVER 절을 사용하여 window 함수로 호출할 수도 있습니다.

인수

  • expr: 숫자 식입니다.
  • percentile: 0과 1 사이의 숫자 리터럴이거나 각각 0과 1 사이에 있는 숫자의 리터럴 배열 values입니다.
  • accuracy INTEGER: 0보다 큰 리터럴입니다. 정확도가 생략되면 set에서 10000까지입니다.
  • cond: 집계에 사용되는 행을 필터링하는 선택적 부울 식입니다.

반품

집계 함수는 exprvaluespercentile 값보다 작거나 해당 값과 같지 않도록 정렬된 그룹에서 가장 작은 값(최소에서 가장 큰 값으로 정렬됨)을 반환합니다.

percentile이 배열인 경우 approx_percentileexpr에서 percentile의 대략적인 백분위수 배열을 반환합니다. accuracy 매개 변수는 메모리를 댓가로 근사치 정확도를 제어합니다. 정확도 값이 높을수록 정확도가 높아지고 1.0/accuracy는 근사치의 상대 오차입니다. 이 함수는 percentile_approx 집계 함수의 동의어입니다.

DISTINCT이 지정된 경우, 함수는 고유한 set의 exprvalues에만 작동합니다.

예제

> SELECT approx_percentile(col, array(0.5, 0.4, 0.1), 100) FROM VALUES (0), (1), (2), (10) AS tab(col);
 [1,1,0]

> SELECT approx_percentile(col, 0.5, 100) FROM VALUES (0), (6), (6), (7), (9), (10) AS tab(col);
 6

> SELECT approx_percentile(DISTINCT col, 0.5, 100) FROM VALUES (0), (6), (6), (7), (9), (10) AS tab(col);
 7