0

我遇到了错误

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

执行此查询时:

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 的情况下我能做些什么来修复它?

4

1 回答 1

1

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

其次,您通过 聚合每个子查询id,因此没有重复项。你不需要在外部查询中计算不同的 idCOUNT(*)做同样的事情。这可能会解决问题。

于 2019-06-13T11:00:40.310 回答