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

> Calcule le nombre approximatif de valeurs d’argument distinctes à l’aide du Theta Sketch Framework.

# uniqTheta

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

Introduit dans : v21.6.0

Calcule le nombre approximatif de différentes valeurs d’argument à l’aide du [Theta Sketch Framework](https://datasketches.apache.org/docs/Theta/ThetaSketches.html#theta-sketch-framework).

<Accordion title="Détails d’implémentation">
  Cette fonction calcule un hash pour tous les paramètres de l’agrégation, puis l’utilise dans les calculs.
  Elle utilise l’algorithme [KMV](https://datasketches.apache.org/docs/Theta/InverseEstimate.html) pour estimer le nombre de différentes valeurs d’argument.

  4096 (2^12) sketches de 64 bits sont utilisés.
  La taille de l’état est d’environ 41 KB.

  L’erreur relative est de 3.125 % (niveau de confiance de 95 %), consultez la [table d’erreur relative](https://datasketches.apache.org/docs/Theta/ThetaErrorTable.html) pour plus de détails.
</Accordion>

**Syntaxe**

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

**Arguments**

* `x` — La fonction accepte un nombre variable de paramètres. [`Tuple(T)`](/fr/reference/data-types/tuple) ou [`Array(T)`](/fr/reference/data-types/array) ou [`Date`](/fr/reference/data-types/date) ou [`DateTime`](/fr/reference/data-types/datetime) ou [`String`](/fr/reference/data-types/string) ou [`(U)Int*`](/fr/reference/data-types/int-uint) ou [`Float*`](/fr/reference/data-types/float) ou [`Decimal`](/fr/reference/data-types/decimal)

**Valeur renvoyée**

Renvoie un nombre de type UInt64 représentant le nombre approximatif de valeurs d’argument distinctes. [`UInt64`](/fr/reference/data-types/int-uint)

**Exemples**

**Utilisation de base**

```sql title=Query theme={null}
CREATE TABLE example_theta
(
    id UInt32,
    category String
)
ENGINE = Memory;

INSERT INTO example_theta VALUES
(1, 'A'), (2, 'B'), (3, 'A'), (4, 'C'), (5, 'B'), (6, 'A');

SELECT uniqTheta(category) as theta_unique_categories
FROM example_theta;
```

```response title=Response theme={null}
┌─theta_unique_categories─┐
│                       3 │
└─────────────────────────┘
```

**Voir aussi**

* [uniq](/fr/reference/functions/aggregate-functions/uniq)
* [uniqCombined](/fr/reference/functions/aggregate-functions/uniqCombined)
* [uniqCombined64](/fr/reference/functions/aggregate-functions/uniqCombined64)
* [uniqHLL12](/fr/reference/functions/aggregate-functions/uniqHLL12)
* [uniqExact](/fr/reference/functions/aggregate-functions/uniqExact)
