大查询 - Group By Clause不与NEST()合作

时间:2015-12-31 07:50:37

标签: google-bigquery google-cloud-platform

以下是公共测试数据的复制 -

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

行语料库f0_
     1 1kinghenryiv brave
     2 1kinghenryiv行业
     3 1kinghenryiv叛国罪

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

1 个答案:

答案 0 :(得分:3)

没有错 每https://cloud.google.com/bigquery/query-reference#aggfunctions

  

BigQuery会自动展平查询结果,因此如果您使用NEST   函数在顶级查询中,结果不会包含重复   领域即可。使用产生的子选择时使用NEST功能   中间结果,供同一查询立即使用。

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

enter image description here

您还可以运行以下查询以查看NEST()实际上是否有效:

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