有没有办法仅对特定GROUP BY
列而不是所有GROUP BY
列执行汇总聚合?而不是SELECT a,b,SUM(c) FROM sample.data GROUP BY a,b
或SELECT a,b,SUM(c) FROM sample.data GROUP BY ROLLUP(a,b)
,我试图实现SELECT a,b,SUM(c) FROM sample.data GROUP BY a, ROLLUP(b)
。这在BigQuery中可行吗?Bigquery中的部分汇总聚合
我现在想象得到的唯一方法是为每一列创建一个GROUPING
列,我不希望将它们卷起来,并将这些列过滤为只有0
。但是,尝试此操作时,我得到的错误是Errors encountered during job execution. Resources exceeded during query execution.
,如果不包括ROLLUP()
,我不会收到该错误。 (即使与同样错误。)
想法?
那么我想你首先需要解决你的“资源超过...”问题。这在我看来就像是一个单独的问题,你应该专注于通过事物来呈现你的实际查询。只是建议... –
只有在“GROUP BY”中使用“ROLLUP()”时才会出现“资源超出”错误。没有“ROLLUP()”,查询正常执行。我在5个不同列上的实际查询组只需要在其中一个上滚动。我认为在5个不同的列(而不是1)上滚动的复杂性增加了这个错误,这就是为什么我想知道是否有办法只在一列上滚动 – blah
得到它 - 我被你的陈述困惑了 - “(即使与GROUP EACH BY同样错误)” –