Google Bigquery组仅由一个元素组成,但选择多个元素

时间:2014-10-23 07:54:19

标签: google-bigquery

我遇到了谷歌大查询的问题。我将使用公共莎士比亚数据集作为示例。我想得到所有行的最大word_count。和归属语料库。使用普通的sql,这将有效。

SELECT MAX(word_count) as w, corpus
FROM [publicdata:samples.shakespeare]

但google bigquery希望所有非agregates能够像这样在GROUP BY中出现:

SELECT MAX(word_count) as w, corpus
FROM [publicdata:samples.shakespeare]
GROUP BY corpus

然后我得到每个语料库的最大word_count。我只想要一个结果:

 w    corpus
995   hamlet

请帮助我,我被困住了

2 个答案:

答案 0 :(得分:1)

更简单的方法是在WHERE子句中使用标量子查询,即

SELECT word_count, corpus FROM [publicdata:samples.shakespeare] 
WHERE word_count = (SELECT MAX(word_count) FROM [publicdata:samples.shakespeare])

答案 1 :(得分:0)

没关系找到它:

SELECT r.w, s.corpus
FROM (SELECT MAX(word_count) as w
      FROM [publicdata:samples.shakespeare]) as r
INNER JOIN [publicdata:samples.shakespeare] as s
ON r.w == s.word_count