hive:在select中使用select

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

首先我使用了查询:

select name
from tab1
where id in (select id
             from (select id,count(id) as a 
                   from tab2
                   group by id
                   order by a desc limit 1) ;

我知道在Hive里选择是不可能的。所以我用变量修改了它。

set var1= select count(id) as a from tab2 group by id order by a desc limit 1;

select name from tab1 group by name having count(id)='${hiveconf:var1}';

但是在 '${hiveconf:var1}' ,查询被替换,再次得到相同的错误。
有什么办法吗?

2admgd59

2admgd591#

select  t1.name 

from            tab1 t1 

        join   (select      id
                           ,count(*) as cnt
                from        tab2 
                group by    id 
                order by    cnt desc 
                limit       1
                ) t2 

        on      t2.id = t1.id

相关问题