approx_top_sum

approx_top_sum

지정된 컬럼에서 대략적으로 가장 빈번한 값들과 그 개수를 배열로 반환하는 집계 함수예요. approx_top_k와 비슷하지만 값의 가중치(weight)도 함께 고려해요.

출처: 문서

본문

v1.1.0에서 도입됐어요.

지정된 컬럼에서 대략적으로 가장 빈번한 값들과 그 개수를 배열로 반환해요. 결과 배열은 값의 대략적 빈도(값 자체가 아니라) 기준 내림차순으로 정렬돼요. 추가로 값의 가중치도 고려해요.

이 함수는 보장된 결과를 제공하지 않아요. 특정 상황에서는 오류가 발생할 수 있고, 가장 빈번한 값이 아닌 빈번한 값을 반환할 수도 있어요.

구문 (Syntax)

approx_top_sum(N[, reserved])(column, weight)

파라미터 (Parameters)

  • N — 반환할 요소 수. 선택 사항. 기본값: 10. UInt64
  • reserved — 선택 사항. 값에 대해 예약된 셀 개수를 정의해요. uniq(column) > reserved이면 topK 함수의 결과가 근사치가 돼요. 기본값: N * 3. 최댓값: N = 65536. UInt64

인자 (Arguments)

  • column — 가장 빈번한 값을 찾을 컬럼 이름. String
  • weight — 가중치. 빈도 계산에서 각 값은 weight만큼 계산돼요. UInt64

반환 값 (Returned value)

대략적으로 가장 빈번한 값들과 그 개수를 담은 배열을 반환하며, 대략적 빈도 기준 내림차순으로 정렬돼요. Array

예시 (Examples)

사용 예시:

Query

SELECT approx_top_sum(2)(k, w)
FROM VALUES('k Char, w UInt64', ('y', 1), ('y', 1), ('x', 5), ('y', 1), ('z', 10));

Response

┌─approx_top_sum(2)(k, w)─┐
│ [('z',10,0),('x',5,0)]  │
└─────────────────────────┘

관련 항목 (See Also)

  • topK
  • topKWeighted
  • approx_top_k

더 알아보기 (Learn more)