Hadoop 配置单元ql如何使用多重计数函数进行查询并使用它们进行除法
我的问题是: 我有一个表,其中有一些记录,如(名称、日期、类型)。假设我有三种类型a、b和c。现在我想把每种类型都计算为带有一些限制的类型_count,并用count(a)/count(b)除法得出一个百分比结果,而a和中的限制是不同的,我该如何处理?谢谢我的代码如下所示:Hadoop 配置单元ql如何使用多重计数函数进行查询并使用它们进行除法,hadoop,hive,Hadoop,Hive,我的问题是: 我有一个表,其中有一些记录,如(名称、日期、类型)。假设我有三种类型a、b和c。现在我想把每种类型都计算为带有一些限制的类型_count,并用count(a)/count(b)除法得出一个百分比结果,而a和中的限制是不同的,我该如何处理?谢谢我的代码如下所示: SELECT name, count(a), count(a)/count(b) from table where ... select name, sum(if(condition_for_a,
SELECT name, count(a), count(a)/count(b)
from table
where ...
select
name,
sum(if(condition_for_a, 1, 0)),
sum(if(condition_for_a, 1, 0)) / sum(if(condition_for_b, 1, 0))
from table
where ...
可以在select中进行一些子查询吗?像这样
select name, count(a), count(a)/ (select count(b) from table where restriction_for_b)
from table
where retriction_for_a
如果我正确理解了您的问题,您可以将计数替换为
sum(如果(条件,1,0))
。大概是这样的:
SELECT name, count(a), count(a)/count(b)
from table
where ...
select
name,
sum(if(condition_for_a, 1, 0)),
sum(if(condition_for_a, 1, 0)) / sum(if(condition_for_b, 1, 0))
from table
where ...