首页 > 解决方案 > 对 hive 中的特定列进行 GROUP BY

问题描述

我有一个包含 38 列的配置单元查询,只有一列使用聚合函数。但我只需要将其与列名 1、2 进行分组,而不是全部。如何实现?

例如,我需要的是,

SELECT 
1
,2
,3
,4
,5
,MAX(6)

FROM 
table_x

GROUP BY 
1,2 

标签: sqlhivepresto

解决方案


选择您想要的所有列并仅使用列名 1 将其分组,2 使用分析函数。

使用以下查询:

select col1,col2.....col38,
max(col6) over(partition by col1,col2 order by col1) as max_val
from tablename

推荐阅读