- Catégories :
VECTOR_SUM¶
Calcule la somme élément par élément des vecteurs dans un agrégat. Renvoie un vecteur où chaque élément correspond à la somme des éléments correspondants dans tous les vecteurs d’entrée.
- Voir aussi :
VECTOR_MIN , VECTOR_MAX , VECTOR_AVG , SUM, Intégrations vectorielles
Syntaxe¶
VECTOR_SUM( <vector_column> )
Arguments¶
vector_columnColonne contenant les valeurs VECTOR. Tous les vecteurs de la colonne doivent avoir le même type d’élément et la même dimension.
Renvoie¶
Renvoie une valeur VECTOR avec le même type d’élément et la même dimension que les vecteurs d’entrée. Chaque élément du vecteur résultat correspond à la somme des éléments correspondants dans tous les vecteurs d’entrée.
Notes sur l’utilisation¶
Les valeurs NULL sont ignorées dans l’agrégation.
Si toutes les valeurs du groupe sont NULL, la fonction renvoie NULL.
Tous les vecteurs d’entrée de la colonne doivent avoir la même dimension et le même type d’élément.
Les fonctions vectorielles sont optimisées de manière à réduire la précision des virgules flottantes. Les résultats de cette fonction présentent une marge d’erreur jusqu’à
1e-4.
Exemples¶
Cet exemple montre comment calculer la somme élément par élément des vecteurs :
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] |
+----------+------------------+
Cet exemple montre une agrégation scalaire (sans GROUP BY) :
SELECT VECTOR_SUM(embedding) AS total_sum
FROM vector_data;
+--------------------+
| TOTAL_SUM |
+--------------------+
| [10.0, 10.0, 14.0] |
+--------------------+