我可以在同一查询结果(oracle)中返回多个计数器吗?

时间:2016-05-19 12:16:54

标签: sql database oracle count

我想检索与一个值匹配的所有行的计数,同时返回一个不同的计数器,该计数器将根据附加条件计算第一个计数器结果的子集。

例如,我想在一个查询中检索以下查询结果:

Select Count(*), 
from table
where cond1 = '1';

select Count(*)
from table
where cond1 = '1'
And Cond2 ='1';

可以在一个查询中完成吗?

2 个答案:

答案 0 :(得分:4)

您可以使用timerfd_createcase这样做:

sum

答案 1 :(得分:4)

gmiley的答案非常好。

然而,这个可能会快一点 - 特别是如果cond1被索引!

select 
   count(*) as count1,
   count(case when cond2 = 1 then 1 end) as count2
from table
where cond1 = 1