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

더 알아보기 (Learn more)