【问题标题】:Condensing Table Array Rows in BigQuery SQL在 BigQuery SQL 中压缩表数组行
【发布时间】:2018-11-06 22:28:41
【问题描述】:

我想使用 BigQuery 标准 SQL

我有一个看起来像这样的表:

如何折叠每一行?例如,第一行看起来像这样:

row   Canopus_id    facebook     id      wikipedia    freebase musicbrainz    
1      10043474     21258...    Q557     Patt_Smith     /m/05qw5  d1358...

本质上,我们以这样一种方式折叠行,它会尝试为一列找到一个填充的条目,如果有一个填充的条目(在第一个或第二个单元格中)将是值。否则,将有一个空值。

【问题讨论】:

  • 每个显示的列实际上是一个单独的重复字段还是一个重复记录? - 很高兴看到表/数据的架构
  • @javacash 。 . .我很好奇这些列的类型是什么。数组不支持NULL 元素。

标签: sql arrays google-bigquery ansi-sql


【解决方案1】:

这是一种方法:

select row,
       (select max(facebook) from unnest(facebook) facebook) as facebook,
       (select max(id) from unnest(id) id) as id,
       . . .
from t;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 2021-11-10
    • 2014-11-01
    • 2011-09-05
    • 2019-06-14
    • 1970-01-01
    相关资源
    最近更新 更多