Saltar al contenido principal

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.
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.
Recomendamos usar esta función en lugar de otras variantes en casi todos los casos.
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
Query
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
┌─unique_categories─┐
│                 3 │
└───────────────────┘
Varios argumentos
Query
SELECT uniq(category, value) as unique_combinations
FROM example_table;
Response
┌─unique_combinations─┐
│                   6 │
└─────────────────────┘
Ver también
Última modificación el 10 de junio de 2026