Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Bigquery查询失败“;查询执行期间超出了资源:用于查询的表元数据太大”;_Sql_Google Bigquery_Legacy Sql - Fatal编程技术网

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

Sql Bigquery查询失败“;查询执行期间超出了资源:用于查询的表元数据太大”;,sql,google-bigquery,legacy-sql,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 (TA

我犯了错误

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

执行此查询时:

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

如果我将
时间戳('2017-1-1')、时间戳('2018-12-31')
更改为
时间戳('2018-1-1')、时间戳('2018-12-31')
,它将起作用。我能做些什么来修复它而不更改时间戳?

首先,为什么您使用的是传统SQL而不是标准SQL


其次,您通过
id
聚合每个子查询,因此不存在重复项。您不需要在外部查询中计算不同的ID。
count(*)
执行相同的操作。这可能会解决问题。

为什么传统SQL不能工作,而标准SQL可以?不同的限制标准?@Evan.Chen。遗留SQL就是它的名字所暗示的——SQL的旧版本。谷歌一直在努力创建一个更标准的兼容界面,该界面提供了新的功能。你应该用它。