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

> Calcula el número aproximado de valores distintos del argumento. Es lo mismo que uniqCombined, pero usa un hash de 64 bits para todos los tipos de datos en lugar de usarlo solo para el tipo de dato String.

# uniqCombined64

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

Introducido en: v20.1.0

Calcula el número aproximado de distintos valores de los argumentos.
Es igual que [`uniqCombined`](/es/reference/functions/aggregate-functions/uniqCombined), pero usa un hash de 64 bits para todos los tipos de datos en lugar de usarlo solo para el tipo de dato String.

Esta función proporciona el resultado de forma determinista (no depende del orden de procesamiento de la consulta).

<Note>
  Como usa un hash de 64 bits para todos los tipos, el resultado no sufre un error muy elevado para cardinalidades significativamente mayores que `UINT_MAX`, como sí ocurre con [`uniqCombined`](/es/reference/functions/aggregate-functions/uniqCombined), que usa un hash de 32 bits para los tipos que no son String.
</Note>

En comparación con la función [uniq](/es/reference/functions/aggregate-functions/uniq), la función uniqCombined64:

* Consume varias veces menos memoria
* Calcula con una precisión varias veces mayor

<Accordion title="Detalles de implementación">
  Esta función calcula un hash de 64 bits para todos los tipos de datos de todos los parámetros del agregado y luego lo usa en los cálculos.
  Usa una combinación de tres algoritmos: array, tabla hash y [HyperLogLog](https://en.wikipedia.org/wiki/HyperLogLog), con una tabla de corrección de errores:

  * Para un número pequeño de elementos distintos, se usa un array
  * Cuando el tamaño del conjunto aumenta, se usa una tabla hash
  * Para un número mayor de elementos, se usa HyperLogLog, que ocupará una cantidad fija de memoria
</Accordion>

**Sintaxis**

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

**Parámetros**

* `HLL_precision` — Opcional. El logaritmo en base 2 del número de celdas de HyperLogLog. El valor predeterminado es 17, lo que equivale en la práctica a 96 KiB de espacio (2^17 celdas, de 6 bits cada una). Rango: \[12, 20]. [`UInt8`](/es/reference/data-types/int-uint)

**Argumentos**

* `x` — Una cantidad variable de argumentos. [`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 la cantidad aproximada de valores de argumento distintos. [`UInt64`](/es/reference/data-types/int-uint)

**Ejemplos**

**Ejemplo con un conjunto de datos grande**

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

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

**Comparación con uniqCombined**

```sql title=Query theme={null}
-- uniqCombined64 con un conjunto de datos grande
SELECT uniqCombined64(number) FROM numbers(1e10);

-- uniqCombined con el mismo conjunto de datos muestra una aproximación deficiente
SELECT uniqCombined(number) FROM numbers(1e10);
```

```response title=Response theme={null}
┌─uniqCombined64(number)─┐
│             9998568925 │ -- 10.00 mil millones
└────────────────────────┘
┌─uniqCombined(number)─┐
│           5545308725 │ -- 5.55 mil millones
└──────────────────────┘
```

**Ver también**

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