hive-基于某个键字段选择唯一行

s3fp2yjn  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(464)

我正在使用 Hive 1.2.1 并希望基于empid选择唯一的行

empid  empname  dept 
101    aaaa     dept1
101    aaaa     dept2
102    bbbb     dept1
103    cccc     dept2

我试图使用相关子查询,但没有工作

select empid, 
       empname,
    dept
       (select count(*) 
        from emp t2 
        where t2.empid = t1.empid) as row_number
from emp t1 where row_number=1
order by empid;

有没有办法根据某个关键字段选择唯一值?需要你的帮助。。
预期产出为

empid  empname  dept 
101    aaaa     dept1
102    bbbb     dept1
103    cccc     dept2

谢谢。

6fe3ivhb

6fe3ivhb1#

如果每个唯一键需要一行,则可以使用row\u number():

select empid, empname, dept from (
select row_number() over (partition by empid order by empname , dept) as rowNum, empid, empname, dept from table
) q where rowNum == 1

相关问题