BigQuery和GROUP BY子句

时间:2014-01-16 06:30:41

标签: google-bigquery

我正在试图弄清楚Google BigQuery在聚合和分组方面的工作原理。我阅读了文档,它说的是GROUP BY:

  

GROUP BY子句允许您对具有相同值的行进行分组   对于给定的领域。然后,您可以在每个上执行聚合函数   团体。在任何选择或聚合之后发生分组   SELECT子句。

所以它说分组后我可以执行聚合函数(我假设它的函数类似于COUNT)。但是比后面的句子说的那样,分组发生在SELECT子句中的任何选择或聚合之后。

所以,如果我有

SELECT f1, COUNT(f2)
  FROM ds.Table
  GROUP BY f1;

首先发生这种情况,分组还是计数?

1 个答案:

答案 0 :(得分:1)

您将获得该组,然后计数。在您的情况下,您将为每个f1获得一行,然后计数。

但是,如果你想做一些有趣的事情,你可以使用窗口函数,首先你可以按某些字段进行分组,然后你可以针对结果行执行函数,这非常方便。

请查看bigquery在线文档的窗口函数部分,以获取一些示例。