Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

uniq

uniq

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.

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.

Sintaxis

uniq(x[, ...])

Argumentos

Valor devuelto

Devuelve un número de tipo UInt64 que representa el número aproximado de valores distintos. UInt64

Ejemplos

Ejemplo de uso

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;
┌─unique_categories─┐
│                 3 │
└───────────────────┘

Varios argumentos

SELECT uniq(category, value) as unique_combinations
FROM example_table;
┌─unique_combinations─┐
│                   6 │
└─────────────────────┘

Ver también

Navigation