uniqExact
uniqExact
인자 값의 서로 다른 개수(고유 값 수)를 정확하게 계산하는 집계 함수예요. 정확한 결과가 꼭 필요할 때만 사용하고, 그 외에는 uniq을 사용하는 게 좋아요.
출처: 문서
본문
uniqExact은 인자의 서로 다른 값의 정확한 개수를 계산해요. uniqExact 함수는 고유 값의 개수가 증가함에 따라 상태 크기가 무한히 커지기 때문에 uniq보다 더 많은 메모리를 사용해요.
정확한 결과가 꼭 필요하다면 uniqExact 함수를 사용하고, 그 외에는 uniq 함수를 사용하는 게 좋아요.
구문 (Syntax)
uniqExact(x[, ...])
인자 (Arguments)
반환 값 (Returned value)
서로 다른 인자 값의 정확한 개수를 UInt64로 반환해요. UInt64
예제 (Examples)
기본 사용
쿼리:
CREATE TABLE example_data
(
id UInt32,
category String
)
ENGINE = Memory;
INSERT INTO example_data
VALUES
(1, 'A'), (2, 'B'), (3, 'A'), (4, 'C'), (5, 'B'), (6, 'A');
SELECT
uniqExact(category)
as exact_unique_categories
FROM example_data;
응답:
┌─exact_unique_categories─┐
│ 3 │
└─────────────────────────┘
여러 인자 사용
쿼리:
SELECT
uniqExact(id, category)
as exact_unique_combinations
FROM example_data;
응답:
┌─exact_unique_combinations─┐
│ 6 │
└───────────────────────────┘