メインコンテンツへスキップ
メインコンテンツへスキップ

sumArray

説明

Array コンビネータは、 集約コンビネータ関数 sumArray を使用して配列内のすべての要素の合計を計算するために、 sum 関数に適用できます。

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 と同じ結果です。

関連項目