Bigquery查询失败“查询执行期间超出了资源:用于查询的表元数据太大”

时间:2019-06-13 10:57:37

标签: sql google-bigquery legacy-sql

我遇到了错误

  

”查询执行期间超出了资源:用于   查询太大”

执行此查询时:

SELECT
  EXACT_COUNT_DISTINCT(a.id)
FROM (
  SELECT
    id
  FROM (TABLE_DATE_RANGE([*****],
        TIMESTAMP('2019-4-1'),
        TIMESTAMP('2019-4-22')))
  GROUP BY
    id) AS a
JOIN (
  SELECT
    id
  FROM (TABLE_DATE_RANGE([*****],
        TIMESTAMP('2017-1-1'),
        TIMESTAMP('2018-12-31')))
  GROUP BY
    id) AS b
ON
  a.id = b.id

如果我将TIMESTAMP('2017-1-1'),TIMESTAMP('2018-12-31')更改为TIMESTAMP('2018-1-1'),TIMESTAMP('2018-12-31'),它将起作用。在不更改TIMESTAMP的情况下,我能做些什么来解决它?

1 个答案:

答案 0 :(得分:1)

首先,为什么要使用旧版SQL而不是标准SQL?

第二,您正在按id聚合每个子查询,因此没有重复项。您无需在外部查询COUNT(*)中执行相同的操作即可计算出不同的ID。这可能会解决问题。