適用対象:はい Databricks Runtime 18.1 以降と![]()
集計内のベクトルの要素ごとの合計を計算します。 各要素がすべての入力ベクトルの対応する要素の合計であるベクトルを返します。
構文
vector_sum(vectors) [FILTER ( WHERE cond ) ]
引数
-
vector: ベクトルを表す
ARRAY<FLOAT>式の列。 すべてのベクトルは同じ次元を持つ必要があります。 - cond: 集計に使用される行をフィルター処理する省略可能なブール式。
返品
入力ベクトルと同じ次元の ARRAY<FLOAT> 値。 結果の各要素は、すべての入力ベクトルの対応する要素の合計です。
NULL値と、NULL要素を含むNULLでないベクトルは、集計では無視されます。 グループ内のすべての値が無効 (NULL要素を持つNULLまたはNULLでないベクトル) の場合は、NULLを返します。 すべての入力ベクトルが空の場合 [] 空の配列を返します。
メモ
-
ARRAY<FLOAT>のみがサポートされています。ARRAY<DOUBLE>やARRAY<DECIMAL>などの他の型ではエラーが発生します。 - すべての入力ベクトルは同じ次元を持つ必要があります。それ以外の場合、関数は VECTOR_DIMENSION_MISMATCHを発生させます。
-
NULL要素を含む非NULLベクターは、NULLとして扱われます。
エラー条件
例示
-- Element-wise sum per category (with GROUP BY)
> SELECT category, vector_sum(embedding) AS sum_vector
FROM vector_data
GROUP BY category
ORDER BY category;
category: A, sum_vector: [5.0, 7.0, 9.0]
category: B, sum_vector: [5.0, 3.0, 5.0]
-- Scalar aggregation (without GROUP BY)
> SELECT vector_sum(embedding) AS total_sum FROM vector_data;
total_sum: [10.0, 10.0, 14.0]