hive sql中分组数据的前1条记录

时间:2016-07-11 09:50:16

标签: sql hive

我有一张包含3个不同列的表格pid,org,金额如下所示。

pid  org  amount
---- ---- ------
1    1    5
1    1    6
2    1    2
2    1    4

我需要按照pid和org分组的最大数量的记录。

因为,hive中不支持sql的丰富功能,需要一种简单的方法来获取它。

结果表应该是

pid  org  amount
---- ---- ------
1    1    6
2    1    4

2 个答案:

答案 0 :(得分:1)

select pid,org,max(amount) from table1 group by pid,org;

答案 1 :(得分:0)

使用max function
返回组

中列的最大值
select pid,org,max(amount) from data
group by pid,org;

如果不起作用,请将金额换成双倍;

select pid,org,max(CAST(amount as double)) from data
group by pid,org;