Google BigQuery 存在 GROUP BY 问题



不知怎么的,我不能用group by做这个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

我很高兴有人能帮助我。谢谢

在我读到的一条注释中,您想要函数作用域中的第一个值。如果你来自MySQL,那么在查询中添加FIRST函数可以帮助你:

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

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

  1. 通过
    将此字段添加到您的组中或
  2. 对该字段使用聚合函数

不能选择auid,因为它不涉及任何聚合函数。您正在根据aid对行进行分组,它将如何选择返回auid的哪些值?如果同时需要auidaid,则需要按这两个字段进行分组。

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

最新更新