Google BigQuery存在GROUP BY问题

时间:2015-11-18 21:13:13

标签: google-bigquery

我不能以某种方式与group做这个sql。

SELECT aid, auid FROM 
  [my_dataset.table_name]
GROUP BY aid
LIMIT 1000

错误说。

Error: (L2:9): Expression 'auid' is not present in the GROUP BY list

如果我删除分组,则可以使用。

SELECT aid, auid FROM 
  [my_dataset.table_name]
LIMIT 1000

我很高兴有人可以帮助我。 谢谢!

3 个答案:

答案 0 :(得分:3)

在我读过的其中一条评论中,你想要函数范围内的第一个值。如果你来自MySQL,在查询中添加FIRST函数可以帮助你:

SELECT aid, FIRST(auid) FROM 
  [my_dataset.table_name]
GROUP BY aid
LIMIT 1000

答案 1 :(得分:2)

请阅读https://cloud.google.com/bigquery/query-reference#groupby
你应该

  1. 通过
    将此字段添加到您的论坛 或
  2. 对此字段使用聚合功能

答案 2 :(得分:1)

您无法选择auid,因为它不参与任何聚合功能。 您是根据aid对行进行分组,如何选择要返回的auid值?如果您同时需要auidaid,则需要按两个字段进行分组。

SELECT aid, auid 
FROM 
  [my_dataset.table_name]
GROUP BY aid, auid
LIMIT 1000