我正在尝试在AWS Athena 上运行查询
SELECT t1.col1,
t1.col2,
t2.col2,
t2.col3
FROM "db"."table1" AS t1
INNER JOIN "db2"."table2" AS t2
ON t1.col2 = t2.col2
GROUP BY t1.col1, t2.col3
HAVING COUNT(1) = 1 LIMIT 10;
但是低于错误
SYNTAX_ERROR:行2:10:'"t1"。"col2"必须是聚合表达式或出现在GROUP BY子句中
是否有任何方法可以在AWS Athena中禁用ONLY_FULL_GROUP_BY或对部分选择列执行GROUP BY。
提前谢谢。
我对AWS Athena一无所知,但即使禁用ONLY_FULL_GROUP_BY(不管是什么(,您似乎仍然会遇到问题。
您收到一个语法错误,因为您没有按t1.col2
和t2.col2
进行聚合。在SQL中,必须group by
不是聚合函数部分的每一列。请参阅以下答案了解原因:为什么我们需要具有聚合功能的GROUP BY?
此外,您可能需要重新检查您的查询——您没有select
使用任何聚合函数(count, avg
等(,但您正在尝试group
结果。