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

Описание

Комбинатор Array можно применить к функции sum, чтобы вычислить сумму всех элементов массива с помощью агрегатной функции-комбинатора sumArray. Функция sumArray полезна, когда нужно вычислить общую сумму всех элементов в нескольких массивах в наборе данных.

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

В этом примере мы используем набор данных о ежедневных продажах в разных категориях товаров, чтобы показать, как работает sumArray. Мы вычислим общий объем продаж по всем категориям для каждого дня.
Query
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.

См. также

Последнее изменение 10 июня 2026 г.