approx_top_sum
approx_top_sum
지정된 컬럼에서 대략적으로 가장 빈번한 값들과 그 개수를 배열로 반환하는 집계 함수예요. approx_top_k와 비슷하지만 값의 가중치(weight)도 함께 고려해요.
출처: 문서
본문
v1.1.0에서 도입됐어요.
지정된 컬럼에서 대략적으로 가장 빈번한 값들과 그 개수를 배열로 반환해요. 결과 배열은 값의 대략적 빈도(값 자체가 아니라) 기준 내림차순으로 정렬돼요. 추가로 값의 가중치도 고려해요.
이 함수는 보장된 결과를 제공하지 않아요. 특정 상황에서는 오류가 발생할 수 있고, 가장 빈번한 값이 아닌 빈번한 값을 반환할 수도 있어요.
구문 (Syntax)
approx_top_sum(N[, reserved])(column, weight)
파라미터 (Parameters)
N— 반환할 요소 수. 선택 사항. 기본값:10.UInt64reserved— 선택 사항. 값에 대해 예약된 셀 개수를 정의해요.uniq(column) > reserved이면 topK 함수의 결과가 근사치가 돼요. 기본값:N * 3. 최댓값:N = 65536.UInt64
인자 (Arguments)
column— 가장 빈번한 값을 찾을 컬럼 이름.Stringweight— 가중치. 빈도 계산에서 각 값은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