如何在 HIVE hql 中添加两个计数?

Posted

技术标签:

【中文标题】如何在 HIVE hql 中添加两个计数?【英文标题】:How do I add two counts in HIVE hql? 【发布时间】:2021-11-04 08:27:49 【问题描述】:

所以我知道我可以通过使用 select count(*) from table1 来获取一个表的计数;

我试过了 选择(从表 1 中选择计数())表 1, (从表 2 中选择计数())表 2 从双;

但它不起作用。

【问题讨论】:

【参考方案1】:

两种可能的解决方案。交叉连接和Union all + 聚合

交叉连接:

 select t1.cnt as table1_count, 
        t2.cnt as table2_count
 from
      (select count(*) cnt from table1) t1
       cross join
      (select count(*) cnt from table2) t2 

联合所有+最大聚合:

select max(t1_cnt) table1_count, max(t2_cnt) table2_count
from
(
select count(*) t1_cnt, 0 t2_cnt from table1
union all
select 0 t1_cnty, count(*) t2_cnt from table2
) s

【讨论】:

以上是关于如何在 HIVE hql 中添加两个计数?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 java 执行 Hive hql 文件?

如何添加计数以对 SQL Hive 中的空值进行排名?

hive hql怎么按两个字段同时分组统计

如何将任何给定的 SQL/HQL 选择查询动态转换为等效计数查询?

hive---hql---案例03

如何在spark中使用transform python udf执行hql脚本?