Перейти к основному содержанию
Перейти к основному содержанию

countResample

Описание

Комбинатор Resample можно применить к агрегатной функции count, чтобы подсчитать значения заданного ключевого столбца по фиксированному числу интервалов (N).

Пример использования

Базовый пример

Рассмотрим пример. Мы создадим таблицу, которая будет содержать name, age и wage сотрудников, и вставим в неё несколько записей:

CREATE TABLE employee_data 
(
    name String,
    age UInt8,
    wage Float32
) 
ENGINE = MergeTree()
ORDER BY tuple()

INSERT INTO employee_data (name, age, wage) VALUES
    ('Иван', 16, 10.0),
    ('Алиса', 30, 15.0),
    ('Мария', 35, 8.0),
    ('Евелина', 48, 11.5),
    ('Давид', 62, 9.9),
    ('Брайан', 60, 16.0);

Посчитаем всех людей, чей возраст лежит в интервалах [30,60) и [60,75). Поскольку мы используем целочисленное представление возраста, фактически получаем возраста в интервалах [30, 59] и [60,74]. Для этого применим комбинатор Resample к count.

SELECT countResample(30, 75, 30)(name, age) AS amount FROM employee_data
┌─amount─┐
│ [3,2]  │
└────────┘

См. также