MISSING_AGGREGATION错误类
非聚合表达式<表达式>
基于列不参与GROUP BY子句。
列或表达式添加到组,总表达,或者使用< expressionAnyValue >
如果你不关心在一组返回的值。
解释
作为一个参数使用聚合函数,或
一个表达式匹配一个表达式的一部分
集团通过
条款。
换句话说:列引用必须是分组关键字的一部分,或者他们必须集合的一部分。
砖匹配的表情最大的努力:例如,它将识别:选择c1+5从T集团通过5+c1
作为数学表达式。但选择c1从T集团通过c1+5
不是一个匹配。
缓解
错误的减排取决于原因:
你错过一个分组列吗?
添加
表达式
,或者相关的子表达式表达式
到集团通过
条款。列引用部分吗
集团通过
表达的不同于有专家
吗?匹配的表达式
选择
列表或简化集团通过
表达式。你错过了聚合吗?
包装一个聚合函数的列引用。如果你只希望集团的代表值,您可以使用any_value(言论)。
例子
——样本数据>创建或取代临时视图任务(的名字,firstname,任务,成本)作为值(“史密斯”,“山姆”,“透视”,10),(“史密斯”,“山姆”,“横向”,5),(•舒斯特的,“莎莉”,“删除”,7),(•舒斯特的,“莎莉”,“授予”,8);——“名称”和“firstname”由coumns集团的一部分,但不完整>选择的名字,firstname,总和(成本)从任务集团通过firstname| |' '| |的名字;(MISSING_AGGREGATION]的表达式“名称”是既不现在在的集团通过,也不是它一个总函数。——GROUP BY表达式相匹配>选择firstname| |' '| |的名字,总和(成本)从任务集团通过firstname| |' '| |的名字;山姆史密斯15莎莉•舒斯特15——分手GROUP BY表达式>选择firstname,的名字,总和(成本)从任务集团通过firstname,的名字;山姆史密斯15莎莉•舒斯特15——丢失分组列>选择的名字,firstname,总和(成本)从任务集团通过的名字;(MISSING_AGGREGATION]的表达式“firstname”是既不现在在的集团通过,也不是它一个总函数。——添加分组列>选择firstname,的名字,总和(成本)从任务集团通过firstname,的名字;山姆史密斯15莎莉•舒斯特15——失踪总>选择firstname,的名字,总和(成本),任务从任务集团通过firstname,的名字;(MISSING_AGGREGATION]的表达式“任务”是既不现在在的集团通过,也不是它一个总函数。——添加一个总>选择firstname,的名字,总和(成本),array_agg(任务)从任务集团通过firstname,的名字;山姆史密斯15(“透视”,“横向”]莎莉•舒斯特15(“删除”,“授予”]——返回任何任务>选择firstname,的名字,总和(成本),any_value(任务)从任务集团通过firstname,的名字;山姆史密斯15横向莎莉•舒斯特15删除