VECTOR_SUM
VECTOR_SUM
VECTOR_SUM() 함수는 집계에서 벡터들의 요소별 합을 계산해요. 각 요소가 모든 입력 벡터의 해당 요소 합인 벡터를 반환해요.
본문
문법
VECTOR_SUM( <vector_column> )
인자
vector_column — 합을 구할 벡터가 담긴 컬럼이에요.
반환
입력 벡터와 같은 요소 타입과 차원을 가진 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] |
+----------+------------------+
이 예제는 스칼라 집계(GROUP BY 없음)를 보여줘요.
SELECT VECTOR_SUM(embedding) AS total_sum
FROM vector_data;
+--------------------+
| TOTAL_SUM |
+--------------------+
| [10.0, 10.0, 14.0] |
+--------------------+