カテゴリ:

Vector functions集計関数

VECTOR_SUM

集計で ベクトル の要素の合計を計算します。各要素が、すべての入力ベクトルにおける対応する要素の合計であるベクトルを返します。

こちらもご参照ください。

VECTOR_MINVECTOR_MAXVECTOR_AVGSUMベクトル埋め込み

構文

VECTOR_SUM( <vector_column> )
Copy

引数

vector_column

VECTOR 値を含む列。列内のすべてのベクトルは、同じ要素の型とディメンションでなければなりません。

戻り値

入力ベクトルと同じ要素の型とディメンションを持つ VECTOR 値を返します。結果ベクトルの各要素は、入力ベクトルすべての対応する要素の合計です。

使用上の注意

  • 集約では NULL 値は無視されます。

  • グループのすべての値が NULL の場合、関数は NULL を返します。

  • 列のすべての入力ベクトルは、同じディメンションと要素の型を持っている必要があります。

  • ベクトル関数は最適化されていますが、浮動小数点の精度を低下させる可能性があります。この関数の結果には、最大 1e-4 のエラー幅があります。

この例は、ベクトルの要素全体の合計を計算する方法を示しています。

CREATE OR REPLACE TABLE vector_data (
  id INT,
  category VARCHAR,
  embedding VECTOR(FLOAT, 3)
);

INSERT INTO vector_data
SELECT 1, 'A', [1.0, 2.0, 3.0]::VECTOR(FLOAT, 3)
UNION ALL SELECT 2, 'A', [4.0, 5.0, 6.0]::VECTOR(FLOAT, 3)
UNION ALL SELECT 3, 'B', [2.0, 1.0, 4.0]::VECTOR(FLOAT, 3)
UNION ALL SELECT 4, 'B', [3.0, 2.0, 1.0]::VECTOR(FLOAT, 3);

-- Compute sum for each category
SELECT category, VECTOR_SUM(embedding) AS sum_vector
  FROM vector_data
  GROUP BY category
  ORDER BY category;
Copy
+----------+------------------+
| CATEGORY | SUM_VECTOR       |
+----------+------------------+
| A        | [5.0, 7.0, 9.0]  |
| B        | [5.0, 3.0, 5.0]  |
+----------+------------------+

この例は、スカラー集約( GROUP BY なし)を示しています。

SELECT VECTOR_SUM(embedding) AS total_sum
  FROM vector_data;
Copy
+--------------------+
| TOTAL_SUM          |
+--------------------+
| [10.0, 10.0, 14.0] |
+--------------------+