hiveql如何使用多个count函数进行查询并使用它们进行除法

bvjveswy  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(531)

我的问题是:我有一个表,其中有一些记录,如(名称、日期、类型)。假设我有三种类型a,b和c。现在我想把每种类型都算作有一些限制的类型u count,用count(a)/count(b)除法得到一个百分比结果,a和中的限制是不同的,我该怎么处理呢?谢谢!我的代码如下所示:

SELECT name, count(a), count(a)/count(b)
   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
jslywgbw

jslywgbw1#

如果我正确理解你的问题,你可以用 sum(if(condition, 1, 0)) . 像这样:

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 ...

相关问题