Сумма целочисленного массива в AWS Athena - PullRequest
0 голосов
/ 18 октября 2018

У меня есть столбец с целочисленным массивом, как показано ниже

{   
    "X":[-11,-11,-11,-17],
    "Y":[184,180,184,184],
    "Z":[144,140,144,142]
}

Я отображаю X, Y & Z как столбец, но я не получил сумму, используя sum

Я пытался

SELECT X AS items,
x_item AS (
  SELECT i AS array_items
  FROM "test_database"."quicktest", UNNEST(items) AS t(i)
)
SELECT array_items, sum(val) AS total

&

select sum(X) FROM "test_database"."quicktest"

Это дает мне ошибку sql и что-то, что я пропустил !!Любые комментарии или предложения будут высоко оценены.

1 Ответ

0 голосов
/ 18 октября 2018

Например, вы можете использовать функцию уменьшения:

https://prestodb.io/docs/0.172/functions/array.html

https://prestodb.io/docs/0.172/functions/lambda.html#reduce

Пример кода:

SELECT x, reduce(x, 0, (s, x) -> s + x, s -> s) as sum_x,
y, reduce(y, 0, (s, x) -> s + x, s -> s) as sum_y,
z, reduce(z, 0, (s, x) -> s + x, s -> s) as sum_z
FROM example
...