我有两个表,表A和B,我正在计算表A中数据类型的出现次数,
ENAME SALES
---------- ----------
Wilson 0
Fox 1
Wang 2
Green 1
Fox 0
Phillips 2
Loftus 0
Smith 2
Smith 3
Wolf 2
Jones 1
Liu 0
当销售计数为0时,表B中根本不存在ename。
如何删除0计数?我试图让回报看起来像这样:
ENAME SALES
---------- ----------
Wilson
Fox 1
Wang 2
Green 1
Fox
Phillips 2
Loftus
Smith 2
Smith 3
Wolf 2
Jones 1
Liu
答案 0 :(得分:3)
一种方法使用case
,另一种方法使用nullif()
:
select ename, nullif(sales, 0) as sales
from t;
如果这是一个聚合查询:
select ename, nullif(count(*), 0) as sales
from t
group by ename;