如果特定属性中的计数为0,则显示所有出现的情况

时间:2015-11-17 09:31:17

标签: sql oracle oracle11g

我有一张这样的表:

date_col1   col2

01/10/2000   a
01/10/2000   a
02/10/2000   b
02/10/2000   b
03/10/2000   c

这,我想做的是每天从col2计算一个特定的元素。

所以,我试图做类似的事情,以便找到 a 的出现次数:

select date_col1,
       count(date_col1)
from table
where col2=a
group by date_col1
order by date_col1

但在那里,我想询问是否有可能从其他具有b或c值的元素中得到0作为计数(date_col1)。

因此,理想的输出将是:

01/10/2000   2
02/10/2000   0
03/10/2000   0

我该如何实现?

我正在使用oracle数据库11g

1 个答案:

答案 0 :(得分:1)

使用CASE表达式进行条件计数:

select date_col1,
       count(case when col2 = 'a' then 1 end)
from table
group by date_col1
order by date_col1