- 카테고리:
VECTOR_SUM¶
집계에서 :doc:`벡터</user-guide/snowflake-cortex/vector-embeddings>`의 요소별 합계를 계산합니다. 각 요소가 모든 입력 벡터에서 해당 요소의 합인 벡터를 반환합니다.
- 참고 항목:
VECTOR_MIN , VECTOR_MAX , VECTOR_AVG , SUM, 벡터 임베딩
구문¶
VECTOR_SUM( <vector_column> )
인자¶
vector_columnVECTOR 값을 포함하는 열입니다. 열의 모든 벡터는 요소 유형 및 차원이 동일해야 합니다.
반환¶
입력 벡터와 요소 유형 및 차원이 동일한 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] |
+----------+------------------+
이 예제에서는 scalar 집계를 보여줍니다(GROUP BY 없음).
SELECT VECTOR_SUM(embedding) AS total_sum
FROM vector_data;
+--------------------+
| TOTAL_SUM |
+--------------------+
| [10.0, 10.0, 14.0] |
+--------------------+