【问题标题】:BigQuery: Querying multiple datasets and tables using Standard SQLBigQuery:使用标准 SQL 查询多个数据集和表
【发布时间】:2016-07-25 10:24:08
【问题描述】:

我的 Google Analytics(分析)数据分布在多个 BigQuery 数据集中,全部使用相同的架构。我想使用 BigQuery 的新标准 SQL 方言同时查询这些数据集中的多个表。我知道我可以像这样在一个数据库中查询多个表:

  FROM `12345678`.`ga_sessions_2016*` s
  WHERE s._TABLE_SUFFIX BETWEEN '0501' AND '0720'

我想不通的是如何不仅查询12345678,还查询23456789

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    如何使用简单的UNION,并用SELECT 包裹它(我使用新的标准 SQL 选项对此进行了测试,它按预期工作):

    SELECT
      SUM(foo)
    FROM (
      SELECT
        COUNT(*) AS foo
      FROM
        <YOUR_DATASET_1>.<YOUR_TABLE_1>
      UNION ALL
      SELECT
        COUNT(*) AS foo
      FROM
        <YOUR_DATASET_1>.<YOUR_TABLE_1>)
    

    【讨论】:

      【解决方案2】:

      我相信如果表具有相同的架构,使用表通配符和联合(在bigquery中,使用逗号来实现联合功能)会很快得到你需要的东西。

      select * 
      from
      (select * from table_table_range([dataset1], date1, date2),
      (select * from table_table_range([dataset2], date3, date4),
      ......
      

      【讨论】:

      • OP 要求提供一个新的标准 SQL 示例。这是 BigQuery 的旧版 SQL。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-24
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多