【问题标题】:BigQuery Standard SQL, get max value from json arrayBigQuery 标准 SQL,从 json 数组中获取最大值
【发布时间】:2021-05-10 10:56:04
【问题描述】:

我有一个 BigQuery 列,其中包含 STRING 值,例如

col1
[{"a":1,"b":2},{"a":2,"b":3}]
[{"a":3,"b":4},{"a":5,"b":6}]

现在在为每个执行 SELECT 时,我只想获得最大值。例如,每个 json 数组中的“a”值在这里我希望表上 SELECT 的输出为

2
5

有什么想法吗?谢谢!

【问题讨论】:

    标签: sql json google-bigquery


    【解决方案1】:

    使用JSON_EXTRACT_ARRAY() 检索每个数组元素。然后JSON_EXTRACT_VALUE()

    with t as (
        select '[{"a":1,"b":2},{"a":2,"b":3}]' as col union all
        select '[{"a":3,"b":4},{"a":5,"b":6}]'
    )
    select t.*,
           (select max(json_value(el, '$.a'))
            from unnest(JSON_QUERY_ARRAY(col, '$')) el
          )
    from t;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-04
      • 1970-01-01
      • 1970-01-01
      • 2021-07-17
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      相关资源
      最近更新 更多