我遇到了谷歌大查询的问题。我将使用公共莎士比亚数据集作为示例。我想得到所有行的最大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
请帮助我,我被困住了
答案 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