VECTOR_MIN

VECTOR_MIN

집계에서 벡터들의 요소별(element-wise) 최솟값을 계산하는 함수예요. 각 요소가 모든 입력 벡터의 대응 요소 중 최솟값인 벡터를 반환해요.

출처: Snowflake SQL Reference

본문

VECTOR_MIN( <vector_column> )

<vector_column> — VECTOR 값이 담긴 컬럼이에요. 컬럼의 모든 벡터는 같은 요소 타입과 차원을 가져야 해요.

입력 벡터와 같은 요소 타입·차원의 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.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);

SELECT category, VECTOR_MIN(embedding) AS min_vector
  FROM vector_data
  GROUP BY category
  ORDER BY category;
+----------+------------------+
| CATEGORY | MIN_VECTOR       |
+----------+------------------+
| A        | [1.5, 2.5, 3.2] |
| B        | [2.0, 1.0, 1.0] |
+----------+------------------+

GROUP BY 없는 스칼라 집계도 가능해요.

SELECT VECTOR_MIN(embedding) AS overall_min
  FROM vector_data;
+------------------+
| OVERALL_MIN      |
+------------------+
| [1.5, 1.0, 1.0]  |
+------------------+

더 알아보기 (Learn more)