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

> Calcula la cantidad aproximada de valores distintos del argumento.

# uniq

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

Introducido en: v1.1.0

Calcula el número aproximado de valores distintos del argumento.

La función utiliza un algoritmo de muestreo adaptativo. Para el estado de cálculo, la función usa una muestra de hasta 65536 valores hash de los elementos. Este algoritmo es muy preciso y muy eficiente para la CPU. Cuando la consulta contiene varias de estas funciones, usar uniq es casi tan rápido como usar otras funciones de agregación.

<Accordion title="Detalles de implementación">
  Esta función calcula un hash para todos los parámetros de la agregación y luego lo usa en los cálculos.
  Utiliza un algoritmo de muestreo adaptativo.
  Para el estado de cálculo, la función usa una muestra de hasta 65536 valores hash de los elementos.
  Este algoritmo es muy preciso y muy eficiente para la CPU.
  Cuando la consulta contiene varias de estas funciones, usar `uniq` es casi tan rápido como usar otras funciones de agregación.
</Accordion>

<Tip>
  Recomendamos usar esta función en lugar de otras variantes en casi todos los casos.
</Tip>

**Sintaxis**

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

**Argumentos**

* `x` — La función acepta un número variable de parámetros. [`Tuple(T)`](/es/reference/data-types/tuple) o [`Array(T)`](/es/reference/data-types/array) o [`Date`](/es/reference/data-types/date) o [`DateTime`](/es/reference/data-types/datetime) o [`String`](/es/reference/data-types/string) o [`(U)Int*`](/es/reference/data-types/int-uint) o [`Float*`](/es/reference/data-types/float) o [`Decimal`](/es/reference/data-types/decimal)

**Valor devuelto**

Devuelve un número de tipo UInt64 que representa el número aproximado de valores distintos. [`UInt64`](/es/reference/data-types/int-uint)

**Ejemplos**

**Ejemplo de uso**

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

INSERT INTO example_table VALUES
(1, 'A', 10.5),
(2, 'B', 20.3),
(3, 'A', 15.7),
(4, 'C', 8.9),
(5, 'B', 12.1),
(6, 'A', 18.4);

SELECT uniq(category) as unique_categories
FROM example_table;
```

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

**Varios argumentos**

```sql title=Query theme={null}
SELECT uniq(category, value) as unique_combinations
FROM example_table;
```

```response title=Response theme={null}
┌─unique_combinations─┐
│                   6 │
└─────────────────────┘
```

**Ver también**

* [uniqCombined](/es/reference/functions/aggregate-functions/uniqCombined)
* [uniqCombined64](/es/reference/functions/aggregate-functions/uniqCombined64)
* [uniqHLL12](/es/reference/functions/aggregate-functions/uniqHLL12)
* [uniqExact](/es/reference/functions/aggregate-functions/uniqExact)
* [uniqTheta](/es/reference/functions/aggregate-functions/uniqthetasketch)
