Categorias:

Vector functions, Funções de agregação

VECTOR_SUM

Calcula a soma de vetores por elemento em uma agregação. Retorna um vetor em que cada elemento é a soma dos elementos correspondentes em todos os vetores de entrada.

Consulte também:

VECTOR_MIN , VECTOR_MAX , VECTOR_AVG , SUM, Incorporações de vetor

Sintaxe

VECTOR_SUM( <vector_column> )
Copy

Argumentos

vector_column

Uma coluna com valores VECTOR. Todos os vetores na coluna devem ter o mesmo tipo de elemento e dimensão.

Retornos

Retorna um valor VECTOR com o mesmo tipo de elemento e dimensão que os vetores de entrada. Cada elemento no vetor de resultado é a soma dos elementos correspondentes em todos os vetores de entrada.

Notas de uso

  • Os valores NULL são ignorados na agregação.

  • Se todos os valores no grupo forem NULL, a função retornará NULL.

  • Todos os vetores de entrada na coluna devem ter o mesmo tipo de dimensão e elemento.

  • As funções de vetor são otimizadas de forma a reduzir a precisão do ponto flutuante. Os resultados dessa função têm uma margem de erro de até 1e-4.

Exemplos

Este exemplo demonstra o cálculo da soma dos vetores por elemento:

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]  |
+----------+------------------+

Este exemplo mostra a agregação escalar (sem GROUP BY):

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