VECTOR_SUM

VECTOR_SUM

VECTOR_SUM() 함수는 집계에서 벡터들의 요소별 합을 계산해요. 각 요소가 모든 입력 벡터의 해당 요소 합인 벡터를 반환해요.

출처: Snowflake SQL Reference

본문

문법

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

더 알아보기