> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 서로 다른 인수 값의 대략적인 개수를 계산합니다. uniqCombined와 동일하지만, 64비트 해시를 String 데이터 타입에만 사용하는 것이 아니라 모든 데이터 타입에 사용합니다.

# uniqCombined64

<div id="uniqCombined64">
  ## uniqCombined64
</div>

도입 버전: v20.1.0

서로 다른 인수 값의 대략적인 개수를 계산합니다.
[`uniqCombined`](/ko/reference/functions/aggregate-functions/uniqCombined)와 동일하지만, String 데이터 타입에만 적용하는 대신 모든 데이터 타입에 64비트 해시를 사용합니다.

이 함수는 결정론적인 결과를 제공합니다(쿼리 처리 순서에 따라 달라지지 않습니다).

<Note>
  모든 타입에 64비트 해시를 사용하므로, 비-String 타입에 32비트 해시를 사용하는 [`uniqCombined`](/ko/reference/functions/aggregate-functions/uniqCombined)와 달리 `UINT_MAX`보다 훨씬 큰 카디널리티에서도 매우 큰 오류가 발생하지 않습니다.
</Note>

[uniq](/ko/reference/functions/aggregate-functions/uniq) 함수와 비교하면, uniqCombined64 함수는 다음과 같은 특징이 있습니다:

* 메모리를 몇 배 더 적게 사용합니다
* 몇 배 더 높은 정확도로 계산합니다

<Accordion title="구현 세부 사항">
  이 함수는 집계의 모든 매개변수에 대해 모든 데이터 타입의 64비트 해시를 계산한 다음, 이를 계산에 사용합니다.
  오류 보정 테이블이 포함된 배열, 해시 테이블, [HyperLogLog](https://en.wikipedia.org/wiki/HyperLogLog)의 세 가지 알고리즘을 조합해 사용합니다:

  * 고유한 요소 수가 적을 때는 배열을 사용합니다
  * 집합 크기가 더 커지면 해시 테이블을 사용합니다
  * 요소 수가 더 많아지면 HyperLogLog를 사용하며, 이 경우 고정된 양의 메모리를 차지합니다
</Accordion>

**구문**

```sql theme={null}
uniqCombined64(HLL_precision)(x[, ...])
uniqCombined64(x[, ...])
```

**매개변수**

* `HLL_precision` — 선택 사항입니다. HyperLogLog의 셀 수에 대한 밑이 2인 로그값입니다. 기본값은 17이며, 이는 사실상 96 KiB의 공간(2^17개 셀, 각 6비트)에 해당합니다. 범위: \[12, 20]. [`UInt8`](/ko/reference/data-types/int-uint)

**인수**

* `x` — 개수가 가변적인 인수입니다. [`Tuple(T)`](/ko/reference/data-types/tuple) 또는 [`Array(T)`](/ko/reference/data-types/array) 또는 [`Date`](/ko/reference/data-types/date) 또는 [`DateTime`](/ko/reference/data-types/datetime) 또는 [`String`](/ko/reference/data-types/string) 또는 [`(U)Int*`](/ko/reference/data-types/int-uint) 또는 [`Float*`](/ko/reference/data-types/float) 또는 [`Decimal`](/ko/reference/data-types/decimal)

**반환 값**

서로 다른 인수 값의 대략적인 개수를 나타내는 UInt64 타입의 숫자를 반환합니다. [`UInt64`](/ko/reference/data-types/int-uint)

**예시**

**대규모 데이터셋 예시**

```sql title=Query theme={null}
SELECT uniqCombined64(number) FROM numbers(1e10);
```

```response title=Response theme={null}
┌─uniqCombined64(number)─┐
│             9998568925 │
└────────────────────────┘
```

**uniqCombined와 비교**

```sql title=Query theme={null}
-- 대용량 데이터셋에서 uniqCombined64 사용
SELECT uniqCombined64(number) FROM numbers(1e10);

-- 동일한 데이터셋에서 uniqCombined는 근사값이 부정확함
SELECT uniqCombined(number) FROM numbers(1e10);
```

```response title=Response theme={null}
┌─uniqCombined64(number)─┐
│             9998568925 │ -- 100억
└────────────────────────┘
┌─uniqCombined(number)─┐
│           5545308725 │ -- 약 55.5억
└──────────────────────┘
```

**관련 항목**

* [uniq](/ko/reference/functions/aggregate-functions/uniq)
* [uniqCombined](/ko/reference/functions/aggregate-functions/uniqCombined)
* [uniqHLL12](/ko/reference/functions/aggregate-functions/uniqHLL12)
* [uniqExact](/ko/reference/functions/aggregate-functions/uniqExact)
* [uniqTheta](/ko/reference/functions/aggregate-functions/uniqthetasketch)
