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.UInt64load_factor— 선택 사항. 값에 예약할 셀 수를 정의해요.uniq(column) > N * load_factor이면 topK 함수의 결과는 근사값이 돼요. 기본값: 3.UInt64counts— 선택 사항. 결과에 근사 개수와 오차 값을 포함할지 여부를 정의해요.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)] │
└─────────────────────────────────────┘