在impala sql语句中查找总计数

jtoj6r0c  于 2021-06-26  发布在  Impala
关注(0)|答案(2)|浏览(397)

我正在尝试查找在我的特定表中查看特定对象的所有用户的总数。我有一个查询,到目前为止,按对象将它分开。。。 select object, count(distinct user) 'c' from events e where (action = 'viewed') and object in ('car','truck') group by object, 'c' 输出如下所示。。。
car 92 truck 20 我想要的是简单地输出数字 112 . 任何帮助都会很好。

hmmo2u0o

hmmo2u0o1#

放一个 sum() 围绕您当前的查询

select sum(c)
from
(
    select object, count(distinct user) 'c' 
    from events e 
    where (action = 'viewed') and object in ('car','truck') 
    group by object, 'c'
) tmp
hm2xizp9

hm2xizp92#

只需简单一点就可以得到你想要的:

select count(*) 
from events e 
where action = 'viewed' 
and object in ('car','truck')

如果您希望按对象区分不同的用户,可以这样做

select count(*) 
from events e 
where action = 'viewed' 
  and object in ('car','truck') 
  and ROW_NUMBER() OVER (PARTITION BY Object, User) = 1

相关问题