不知怎么的,我不能用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
你应该选择
- 通过
将此字段添加到您的组中或 - 对该字段使用聚合函数
不能选择auid
,因为它不涉及任何聚合函数。您正在根据aid
对行进行分组,它将如何选择返回auid
的哪些值?如果同时需要auid
和aid
,则需要按这两个字段进行分组。
SELECT aid, auid
FROM
[my_dataset.table_name]
GROUP BY aid, auid
LIMIT 1000