Google bigquery 大查询-GROUPBY子句不使用NEST()

Google bigquery 大查询-GROUPBY子句不使用NEST(),google-bigquery,google-cloud-platform,Google Bigquery,Google Cloud Platform,这是他们公开测试数据的复制品- SELECT corpus, NEST(word) FROM [publicdata:samples.shakespeare] GROUP BY corpus LIMIT 1000 行语料库f0\u0 1金亨利夫勇敢 2金亨利夫职业 3金亨利夫叛国罪 有人能告诉我我做错了什么吗?没什么错 BigQuery会自动展平查询结果,因此如果使用嵌套 函数,结果不会包含重复的 字段。在使用生成的子选择时使用嵌套函数 供同一查询立即使用的中间结果 返回的行数证明了这

这是他们公开测试数据的复制品-

SELECT corpus, NEST(word) 
FROM [publicdata:samples.shakespeare] 
GROUP BY corpus 
LIMIT 1000
行语料库f0\u0
1金亨利夫勇敢
2金亨利夫职业
3金亨利夫叛国罪

有人能告诉我我做错了什么吗?

没什么错

BigQuery会自动展平查询结果,因此如果使用嵌套 函数,结果不会包含重复的 字段。在使用生成的子选择时使用嵌套函数 供同一查询立即使用的中间结果

返回的行数证明了这一点(查询中为1000行,但结果为41852行,因为它是平坦的:

您还可以运行下面的查询以查看NEST()是否实际工作:

SELECT corpus, COUNT(1) AS cnt 
FROM (
  SELECT corpus, NEST(word) 
  FROM [publicdata:samples.shakespeare] 
  GROUP BY corpus 
  LIMIT 1000
)
GROUP BY corpus

请注意,可以通过写入输出表并禁用“展平结果”选项来保留重复结构。