Sql 为什么在配置单元中执行分组时出错?
我正在配置单元中执行以下命令:Sql 为什么在配置单元中执行分组时出错?,sql,hive,hiveql,Sql,Hive,Hiveql,我正在配置单元中执行以下命令: Select child.data_volume_gprs_dl + child.data_volume_gprs_ul as data_usage, parent.file_name, parent.record_number from table1 as parent left join table2 child on parent.file_name = child.file_name and parent.
Select child.data_volume_gprs_dl + child.data_volume_gprs_ul as data_usage,
parent.file_name,
parent.record_number
from table1 as parent
left join table2 child
on parent.file_name = child.file_name
and parent.record_number = child.record_number
where parent.served_imsi like '310120%'
or parent.served_imsi like '312530%'
and parent.serving_node_plmn_id like '310260%'
and parent.date_part = 20191201
group by parent.file_name, parent.record_number
错误:编译语句时出错:失败:SemanticException
[错误10025]:行1:7表达式不在按键分组中
“数据量gprs数据线”(状态=42000,代码=10025)
为什么会出现此错误?所有非聚合列都应位于
分组依据列表中,例如
group by parent.file_name, parent.record_number,
child.data_volume_gprs_dl, child.data_volume_gprs_ul
如果只需要按parent.file\u name
和parent.record\u number
列进行分组,则可以对其余列应用聚合(sum()
,avg()
,count()
)函数。甚至可以添加sum(child.data\u volume\u gprs\u dl+child.data\u volume\u gprs\u ul)
但我的要求是根据parent.file\u name、parent.record\u number进行分组。是否有其他方法。请提供样本数据和所需结果。显然,您的查询不是有效的SQL,因此它不能很好地描述结果集。