VECTOR_ SUM
On this page
Adds all vectors in a column and returns a vector which is the sum of those vectors.
Syntax
VECTOR_SUM(vector_expression)
Arguments
-
vector_: An expression that evaluates to a vector.expression Vectors can be stored in SingleStore using the BLOBtype (Binary String Types).
Return Type
Returns the type of the argument (the vector_).
Using VECTOR_ SUM with Vectors as BLOBs
The following examples demonstrate use of VECTOR_ with the BLOB type.
Example 1 - Adding Two Vectors
Create a table with a column of type BLOB to store the vectors and insert data into that table.vec and type BLOB, will store the vectors.
CREATE TABLE vectors_b (id int, vec BLOB not null);INSERT INTO vectors_b VALUES (1, JSON_ARRAY_PACK('[0.1, 0.8, 0.2, 0.555]'));INSERT INTO vectors_b VALUES (2, JSON_ARRAY_PACK('[0.45, 0.55, 0.495, 0.5]'));
The following query sums the vectors in the vec column and uses JSON_ to see the results in JSON format.
SELECT JSON_ARRAY_UNPACK(VECTOR_SUM(vec)) AS vector_sumFROM vectors_b;
+---------------------------------------------------+
| vector_sum |
+---------------------------------------------------+
| [0.550000012,1.35000002,0.694999993,1.05500007] |
+---------------------------------------------------+
1 row in set (0.01 sec)The following query uses HEX to view the results in hexadecimal format.
SELECT HEX(VECTOR_SUM(vec)) AS vector_sumFROM vectors_b;
+---------------------------------------------------+
| vector_sum |
+---------------------------------------------------+
| CDCC0C3FCDCCAC3F85EB313F3E0A873F |
+---------------------------------------------------+Formatting Binary Vector Data for BLOBs
When using the BLOB type for vector operations, vector data can be formatted using JSON_.BLOBs.BLOB containing packed numbers in little-endian byte order.BLOBs can be of any length; however, the input blob length must be divisible by the size of the packed vector elements .
Last modified: February 12, 2025