VECTOR_ELEMENTS_SUM

Returns the sum of all elements of a vector expression.

Syntax

VECTOR_ELEMENTS_SUM(vector_expression)

Arguments

  • vector_expression: An expression that evaluates to a vector. The vector must be encoded as a blob containing packed single-precision or double-precision floating-point numbers in little-endian byte order.

Return Type

An element sum (64-bit signed integer for integer versions and 64-bit floating-point number for float versions).

Remarks

A vector can be of any length, but the input blob length must be divisible by the packed vector element size (1, 2, 4 or 8 bytes, depending on the vector element).

You can specify the datatype of the vector elements in which this operation is performed on the vector by adding a suffix to the function. Omitting the suffix from the function is equivalent to suffixing it with _F32. All operations are done using the specified datatype. The following table lists the suffixes and their datatype.

Suffix

Datatype

_I8

8-bit signed integer

_I16

16-bit signed integer

_I32

32-bit signed integer

_I64

64-bit signed integer

_F32

32-bit floating-point number (IEEE standard format)

_F64

64-bit floating-point number (IEEE standard format)

Examples

CREATE TABLE t (x BLOB);
INSERT INTO t VALUES (JSON_ARRAY_PACK('[4,3,1,5,2]'));
SELECT VECTOR_ELEMENTS_SUM(x) AS x from t; 
+------+
|  x   |
+------+
|  15  |
+------+