我正在试图弄清楚Google BigQuery在聚合和分组方面的工作原理。我阅读了文档,它说的是GROUP BY:
GROUP BY子句允许您对具有相同值的行进行分组 对于给定的领域。然后,您可以在每个上执行聚合函数 团体。在任何选择或聚合之后发生分组 SELECT子句。
所以它说分组后我可以执行聚合函数(我假设它的函数类似于COUNT)。但是比后面的句子说的那样,分组发生在SELECT子句中的任何选择或聚合之后。
所以,如果我有
SELECT f1, COUNT(f2)
FROM ds.Table
GROUP BY f1;
首先发生这种情况,分组还是计数?
答案 0 :(得分:1)
您将获得该组,然后计数。在您的情况下,您将为每个f1获得一行,然后计数。
但是,如果你想做一些有趣的事情,你可以使用窗口函数,首先你可以按某些字段进行分组,然后你可以针对结果行执行函数,这非常方便。
请查看bigquery在线文档的窗口函数部分,以获取一些示例。