본문으로 바로가기
본문으로 바로가기

topKWeighted

topKWeighted

도입 버전: v1.1

지정한 컬럼에서 대략적으로 가장 자주 나타나는 값들을 배열로 반환합니다. 반환되는 배열은 값 자체가 아니라 값의 근사 발생 빈도를 기준으로 내림차순 정렬됩니다. 또한 각 값의 가중치가 빈도 계산에 반영됩니다.

함께 보기

문법

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

매개변수

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

인수

  • column — 가장 자주 나타나는 값을 찾을 컬럼의 이름입니다. - weight — 가중치입니다. 각 값은 빈도 계산에서 weight배만큼 반영됩니다. UInt64

반환 값

가중치 합이 (근사적으로) 최대인 값들의 배열을 반환합니다. Array

예시

사용 예시

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)]              │
└─────────────────────────────────────┘

함께 보기