array_sum
Суммирует все элементы в массиве.
Начиная с Selena 2.5, array_sum() может принимать lambda-выражение в качестве аргумента. Однако она не может работать напрямую с Lambda-выражением. Она должна работать с результатом, преобразованным из array_map().
Синтаксис
array_sum(array(type))
array_sum(lambda_function, arr1,arr2...) = array_sum(array_map(lambda_function, arr1,arr2...))
Параметры
array(type): массив, для которого вы хотите вычислить сумму. Элементы массива поддерживают следующие типы данных: BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE и DECIMALV2.lambda_function: lambda-выражение, используемое для вычисления целевого массива для array_sum().
Возвращаемое значение
Возвращает числовое значение.
Примеры
Использование array_sum без lambda-функции
mysql> select array_sum([11, 11, 12]);
+-----------------------+
| array_sum([11,11,12]) |
+-----------------------+
| 34 |
+-----------------------+
mysql> select array_sum([11.33, 11.11, 12.324]);
+---------------------------------+
| array_sum([11.33,11.11,12.324]) |
+---------------------------------+
| 34.764 |
+---------------------------------+
Использование array_sum с lambda-функцией
-- Умножить [1,2,3] на [1,2,3] и суммировать элементы.
select array_sum(array_map(x->x*x,[1,2,3]));
+---------------------------------------------+
| array_sum(array_map(x -> x * x, [1, 2, 3])) |
+---------------------------------------------+
| 14 |
+---------------------------------------------+
keyword
ARRAY_SUM,ARRAY