> ## 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

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

導入バージョン: v1.1.0

異なる引数値のおおよその個数を計算します。
結果は決定論的です (クエリ処理の順序には依存しません) 。

<Note>
  String 以外の型には 32 ビットハッシュを使用するため、カーディナリティが `UINT_MAX` を大幅に超える場合、結果の誤差は非常に大きくなります (異なる値が数百億件規模になると、誤差は急速に増加します) 。
  カーディナリティが `UINT_MAX` を超える場合は、代わりに [`uniqCombined64`](/ja/reference/functions/aggregate-functions/uniqCombined64) を使用してください。
</Note>

uniq 関数と比較すると、uniqCombined 関数には次の特徴があります。

* メモリ消費量を数分の一に抑えられます
* 精度が数倍高くなります
* 通常、パフォーマンスはわずかに低下します。ただし、状況によっては uniqCombined のほうが uniq より高いパフォーマンスを示すことがあります。たとえば、ネットワーク経由で多数の集約状態を転送する分散クエリの場合です

<Accordion title="実装の詳細">
  この関数は、集約内のすべてのパラメータに対してハッシュ (String には 64 ビットハッシュ、それ以外には 32 ビット) を計算し、それを計算に使用します。
  配列、hash table、誤り補正テーブル付き HyperLogLog の 3 つのアルゴリズムを組み合わせて使用します。

  * 異なる要素数が少ない場合は、配列を使用します
  * Set のサイズが大きくなると、hash table を使用します
  * 要素数がさらに多い場合は、一定量のメモリを使用する HyperLogLog を使用します
</Accordion>

**構文**

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

**パラメータ**

* `HLL_precision` — オプション。HyperLogLog のセル数の 2 を底とする対数です。デフォルト値は 17 で、実質的に 96 KiB の領域を使用します (2^17 個のセル、それぞれ 6 ビット) 。範囲: \[12, 20]。[`UInt8`](/ja/reference/data-types/int-uint)

**引数**

* `x` — 可変個の引数。[`Tuple(T)`](/ja/reference/data-types/tuple) または [`Array(T)`](/ja/reference/data-types/array) または [`Date`](/ja/reference/data-types/date) または [`DateTime`](/ja/reference/data-types/datetime) または [`String`](/ja/reference/data-types/string) または [`(U)Int*`](/ja/reference/data-types/int-uint) または [`Float*`](/ja/reference/data-types/float) または [`Decimal`](/ja/reference/data-types/decimal)

**戻り値**

異なる引数値のおおよその数を表す UInt64 型の値を返します。[`UInt64`](/ja/reference/data-types/int-uint)

**例**

**基本的な使い方**

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

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

**カスタム精度**

```sql title=Query theme={null}
SELECT uniqCombined(15)(number) FROM numbers(1e5);
```

```response title=Response theme={null}
┌─uniqCombined(15)(number)─┐
│                   100768 │
└──────────────────────────┘
```

**関連項目**

* [uniq](/ja/reference/functions/aggregate-functions/uniq)
* [uniqCombined64](/ja/reference/functions/aggregate-functions/uniqCombined64)
* [uniqHLL12](/ja/reference/functions/aggregate-functions/uniqHLL12)
* [uniqExact](/ja/reference/functions/aggregate-functions/uniqExact)
* [uniqTheta](/ja/reference/functions/aggregate-functions/uniqthetasketch)
