Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Runtime 18.1 e superiores
Calcula a soma elemento a elemento dos vetores num agregado. Devolve um vetor onde cada elemento é a soma dos elementos correspondentes em todos os vetores de entrada.
Sintaxe
vector_sum(vectors) [FILTER ( WHERE cond ) ]
Argumentos
-
Vetores: Uma coluna de
ARRAY<FLOAT>expressões que representam vetores. Todos os vetores devem ter a mesma dimensão. - cond: Uma expressão booleana opcional que filtra as linhas usadas para agregação.
Devoluções
Um ARRAY<FLOAT> valor com a mesma dimensão dos vetores de entrada. Cada elemento no resultado é a soma dos elementos correspondentes em todos os vetores de entrada.
NULL Valores e não-vetoresNULL que contêm um NULL elemento são ignorados na agregação. Retorna NULL se todos os valores do grupo forem inválidos (NULL ou nãoNULL vetores com NULL elementos). Devolve um array [] vazio se todos os vetores de entrada estiverem vazios.
Notes
- Apenas
ARRAY<FLOAT>é suportado; outros tipos comoARRAY<DOUBLE>ouARRAY<DECIMAL>gerar um erro. - Todos os vetores de entrada devem ter a mesma dimensão; caso contrário, a função eleva VECTOR_DIMENSION_MISMATCH.
- Um não-vetor
NULLque contém umNULLelemento é tratado comoNULL.
Condições de erro
Exemplos
-- 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]