Описание
Комбинатор Array
можно применить к функции sum,
чтобы вычислить сумму всех элементов массива с помощью агрегатной функции-комбинатора sumArray.
Функция sumArray полезна, когда нужно вычислить общую сумму
всех элементов в нескольких массивах в наборе данных.
Пример использования
В этом примере мы используем набор данных о ежедневных продажах в разных
категориях товаров, чтобы показать, как работает sumArray. Мы вычислим общий объем
продаж по всем категориям для каждого дня.
CREATE TABLE daily_category_sales
(
date Date,
category_sales Array(UInt32)
) ENGINE = Memory;
INSERT INTO daily_category_sales VALUES
('2024-01-01', [100, 200, 150]),
('2024-01-02', [120, 180, 160]),
('2024-01-03', [90, 220, 140]);
SELECT
date,
category_sales,
sumArray(category_sales) AS total_sales_sumArray,
sum(arraySum(category_sales)) AS total_sales_arraySum
FROM daily_category_sales
GROUP BY date, category_sales;Функция sumArray суммирует все элементы в каждом массиве category_sales.
Например, для 2024-01-01 она суммирует 100 + 200 + 150 = 450. Это дает
тот же результат, что и arraySum.