El Resample
combinador se puede aplicar a la función de agregación count
para contar los valores de una columna clave específica en un número fijo
de intervalos (N).
Veamos un ejemplo. Crearemos una tabla que contiene 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 el salario promedio de las personas cuya edad se encuentra en los intervalos [30,60)
y [60,75) ([ es exclusivo y ) es inclusivo). Como usamos una
representación entera para la edad, obtenemos edades en los intervalos [30, 59] y [60,74].
Para ello, aplicamos el combinador Resample a la función de agregación avg.
WITH avg_wage AS
(
SELECT avgResample(30, 75, 30)(wage, age) AS original_avg_wage
FROM employee_data
)
SELECT
arrayMap(x -> round(x, 3), original_avg_wage) AS avg_wage_rounded
FROM avg_wage;
┌─avg_wage_rounded─┐
│ [11.5,12.95] │
└──────────────────┘
Última modificación el 10 de junio de 2026