我正在使用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
感谢。
答案 0 :(得分:1)
如果每个唯一键需要一行,则可以使用row_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