topKWeighted

topKWeighted

지정한 컬럼에서 가장 빈번한 값의 근사 배열을 반환하는 집계 함수예요. topK과 같지만 값의 가중치(weight)도 함께 고려해요.

출처: 문서

본문

topKWeighted은 지정한 컬럼에서 가장 빈번한 값의 근사 배열을 반환해요. 결과 배열은 값의 근사 빈도(값 자체가 아니라) 기준 내림차순으로 정렬돼요. 또한 값의 가중치도 함께 고려해요.

구문 (Syntax)

topKWeighted(N)(column, weight)
topKWeighted(N, load_factor)(column, weight)
topKWeighted(N, load_factor, 'counts')(column, weight)

매개변수 (Parameters)

  • N — 반환할 요소의 개수. 기본값: 10. UInt64
  • load_factor — 선택 사항. 값에 예약할 셀 수를 정의해요. uniq(column) > N * load_factor이면 topK 함수의 결과는 근사값이 돼요. 기본값: 3. UInt64
  • counts — 선택 사항. 결과에 근사 개수와 오차 값을 포함할지 여부를 정의해요. Bool

인자 (Arguments)

  • column — 가장 빈번한 값을 찾을 컬럼의 이름.
  • weight — 가중치. 빈도 계산에서 모든 값이 weight 횟수만큼 계산돼요. UInt64

반환 값 (Returned value)

가중치의 근사 합이 최대인 값들의 배열. Array

예제 (Examples)

사용 예시

쿼리:

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

응답:

┌─topKWeighted(2)(k, w)─┐
│ ['z','x']             │
└───────────────────────┘

counts 매개변수 사용

쿼리:

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

응답:

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

더 알아보기 (Learn more)