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

sumArray

Описание

Комбинатор 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.

См. также