Saltar al contenido principal

Descripción

El combinador Resample puede aplicarse a la función de agregación groupArray para dividir el rango de una columna clave especificada en un número fijo de intervalos (N) y construir el array resultante seleccionando un valor representativo (correspondiente a la clave mínima) de los puntos de datos que caen en cada intervalo. Crea una vista submuestreada de los datos en lugar de recopilar todos los valores.

Ejemplo de uso

Veamos un ejemplo. Crearemos una tabla con name, age y wage de los empleados, e insertaremos algunos datos en ella:
CREATE TABLE employee_data 
(
    name String,
    age UInt8,
    wage Float32
) ENGINE = MergeTree()
ORDER BY tuple()

INSERT INTO employee_data (name, age, wage) VALUES
    ('John', 16, 10.0),
    ('Alice', 30, 15.0),
    ('Mary', 35, 8.0),
    ('Evelyn', 48, 11.5),
    ('David', 62, 9.9),
    ('Brian', 60, 16.0);
Obtengamos los nombres de las personas cuyas edades están en los intervalos [30,60) y [60,75). Como usamos una representación entera para la edad, obtenemos edades en los intervalos [30, 59] y [60,74]. Para agrupar nombres en un Array, usamos la función de agregación groupArray. Recibe un argumento. En nuestro caso, es la columna de nombre. La función groupArrayResample debe usar la columna de edad para agrupar los nombres por edad. Para definir los intervalos necesarios, pasamos 30, 75, 30 como argumentos a la función groupArrayResample:
SELECT groupArrayResample(30, 75, 30)(name, age) FROM employee_data
┌─groupArrayResample(30, 75, 30)(name, age)─────┐
│ [['Alice','Mary','Evelyn'],['David','Brian']] │
└───────────────────────────────────────────────┘

Véase también

Última modificación el 10 de junio de 2026