VECTOR_SUM¶
在汇总中计算 向量 的逐元素总和。返回一个向量,其中每个元素是所有输入向量对应元素之和。
- 另请参阅:
VECTOR_MIN , VECTOR_MAX , VECTOR_AVG , SUM, 向量嵌入
语法¶
VECTOR_SUM( <vector_column> )
实参¶
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;
+----------+------------------+
| CATEGORY | SUM_VECTOR |
+----------+------------------+
| A | [5.0, 7.0, 9.0] |
| B | [5.0, 3.0, 5.0] |
+----------+------------------+
此示例显示标量聚合(无 GROUPBY):
SELECT VECTOR_SUM(embedding) AS total_sum
FROM vector_data;
+--------------------+
| TOTAL_SUM |
+--------------------+
| [10.0, 10.0, 14.0] |
+--------------------+