2014-03-12 28 views
4

我有這個查詢,我想使用,因爲天真GROUP BY給出資源超出的錯誤。文檔說TOP應該用於這種情況。什麼是BigQuery中的TOP_COUNT和TOP_MAXCOUNT?

SELECT TOP(col), COUNT(distinct(othercol)) FROM [table] 

當我運行此我得到一個錯誤信息說我只能用COUNT(*),因爲它在文檔說爲好。

Error: Only COUNT(*) and MAXCOUNT(*) are allowed with TOP(). Use TOP_COUNT or TOP_MAXCOUNT instead., TOP() must be accompanied by COUNT(*). Try TOP_COUNT or TOP_MAXCOUNT instead. 

的問題是,什麼是TOP_COUNTTOP_MAXCOUNT?他們沒有記錄在任何地方。

回答

4

首先,如果您將GROUP BY查詢更改爲使用GROUP EACH BY(描述爲here),那麼您的原始查詢可能會起作用。

TOP_COUNTTOP_MAXCOUNT是查詢引擎最近添加的還沒有在BigQuery中發佈的。不幸的是,一條錯誤消息引用了它們(這裏有一個內部錯誤)。

+0

我今天添加此錯誤消息。是否可以記錄TOP_COUNT和TOP_MAXCOUNT函數。謝謝 – YABADABADOU

+0

它看起來像一個錯誤。我試圖使用TOP_MAXACCOUNT,並添加此消息「無法識別的函數top_maxcount」。 – YABADABADOU

相關問題