首页 > 解决方案 > 我如何获得标准 SQL BigQuery 中对象数组的字段值的总和

问题描述

[
  {
    "ItemId": "001",
    "quantity": 2,
  },
    {
    "ItemId": "002",
    "quantity": 1,
  },
    {
    "ItemId": "003",
    "quantity": 10,
  },
    {
    "ItemId": "004",
    "quantity": 3,
  },

]

如果我有一个包含这样的数组的列,并且如果我想对数量求和,在这种情况下,总和将是数量 = 16

标签: google-bigquerybigquery-standard-sql

解决方案


两种选择,看你需要什么。如果要获取每个数组的总和:

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

如果要获得所有数组的总和:

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

推荐阅读