Как получить сумму значений полей массива объектов в StandardSQL BigQuery - PullRequest
0 голосов
/ 12 ноября 2018
[
  {
    "ItemId": "001",
    "quantity": 2,
  },
    {
    "ItemId": "002",
    "quantity": 1,
  },
    {
    "ItemId": "003",
    "quantity": 10,
  },
    {
    "ItemId": "004",
    "quantity": 3,
  },

]

Если у меня есть столбец с таким массивом, и если я хочу суммировать количество, то в этом случае сумма будет равна количеству = 16

1 Ответ

0 голосов
/ 12 ноября 2018

Два варианта, в зависимости от того, что вам нужно. Если вы хотите получить сумму для каждого массива:

SELECT (SELECT SUM(quantity) FROM UNNEST(array_column))
FROM dataset.table

Если вы хотите получить сумму по всем массивам:

SELECT SUM(quantity)
FROM dataset.table,
  UNNEST(array_column)
...