如何在hive中逐句选择不在列中的列?

时间:2014-11-24 12:16:43

标签: hadoop

有一个表test,其中包含3列:id1, id2 ,id3

在MySQL中,我可以使用

select id1, id2, id3 
from test 
group by id1, id2;

获取每个组中的不同id1, id2和第一个id3

例如:表格测试中的数据如下

id1 id2 id3 
 1   1   1
 1   2   1
 1   2   2
 2   2   2

结果将是:

1 1 1
1 2 1
2 2 2

但在配置单元中,存在错误

  

表达式不在GROUP BY键'id3'

我可以在蜂巢中使用什么?我只想按id1,id2分组并获取id3的第一行。

1 个答案:

答案 0 :(得分:0)

试试这个,

select id1,id2,id3
from 
(
select id1,id2,id3,ROW_NUMBER() over (Partition BY id1,id2) as rnum
from test ) t
where rnum=1;

输出

1   1   1
1   2   1
2   2   2