- Categorias:
VECTOR_MAX¶
Calcula o máximo de vetores por elemento em uma agregação. Retorna um vetor em que cada elemento é o máximo de elementos correspondentes de todos os vetores de entrada.
- Consulte também:
VECTOR_SUM , VECTOR_MIN , VECTOR_AVG , MAX, Incorporações de vetor
Sintaxe¶
VECTOR_MAX( <vector_column> )
Argumentos¶
vector_columnUma 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 do resultado é o máximo de elementos correspondentes de 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 do máximo de 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.5, 8.0, 3.2]::VECTOR(FLOAT, 3)
UNION ALL SELECT 2, 'A', [4.1, 2.5, 6.7]::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 maximum for each category
SELECT category, VECTOR_MAX(embedding) AS max_vector
FROM vector_data
GROUP BY category
ORDER BY category;
+----------+------------------+
| CATEGORY | MAX_VECTOR |
+----------+------------------+
| A | [4.1, 8.0, 6.7] |
| B | [3.0, 2.0, 4.0] |
+----------+------------------+
Este exemplo mostra a agregação escalar (sem GROUP BY):
SELECT VECTOR_MAX(embedding) AS overall_max
FROM vector_data;
+------------------+
| OVERALL_MAX |
+------------------+
| [4.1, 8.0, 6.7] |
+------------------+