我有一个38列的配置单元查询,只有一列使用聚合函数。但是我需要将它与列名1,2分组而不是全部。如何实现这一目标?
例如,…
选择所需的所有列,并仅使用列名1,2对其进行分组,使用分析函数。
使用以下查询:
select col1,col2.....col38, max(col6) over(partition by col1,col2 order by col1) as max_val from tablename
它不符合 group by 定义。当你分组时 X columns ,其他 Y columns 必须汇总以适合现有组。
group by
X columns
Y columns
使用 row_number() 功能
row_number()
select * from ( SELECT 1,2,3,4,5,6,row_number() over(partition by 1,2 order by 6 desc) as rn FROM table_x )A where rn=1