SQL Oracle:尝试使用AND运算符来计算,New和需要经验丰富的人

时间:2018-04-30 20:53:43

标签: sql oracle data-science

我是SQL的新手,到目前为止我已经很好地解决了问题,但我在这个查询中遗漏了一些内容:

问题是如何使用另一列从两列返回不同的计数,如果值大于0则返回标准。

我尝试过IF和AND运算符(我当前的查询返回0而不是错误,只有使用一个.shp标准才有效)

select count (distinct ti.TO_ADDRESS)
from ti
where ti.input_id = 'xxx_029_01z_c_zzzzbab_ecrm.shp'

and ti.input_id = 'xxx_030_01z_c_zzzzbab_ecrm.shp'

and ti.OPENED>0;

非常感谢!!

1 个答案:

答案 0 :(得分:2)

我认为您需要两个级别的聚合:

select count(*)
from (select ti.TO_ADDRESS
      from ti
      where ti.input_id in ('xxx_029_01z_c_zzzzbab_ecrm.shp', 'xxx_030_01z_c_zzzzbab_ecrm.shp') and
            ti.OPENED > 0
      group by ti.TO_ADDRESS
      having count(distinct ti.input_id) = 2  -- has both of them
     ) ti;