首页 > 解决方案 > 除以两个计数 Oracle SQL

问题描述

我正在尝试编写我认为是一个相当简单的查询,但事实证明它比我想象的要难。我想划分两个select语句的结果:

Select count (*) from tableA where columnA = 'A'
/
Select count (*) from tableA where columnA in ('1','2')

我正在使用 Oracle SQL Developer

感谢您的任何指导

标签: sqloracle

解决方案


我会推荐条件聚合。. . 但sum()没有count()

Select (sum(case when columnA = 'A' then 1 else 0 end) /
        sum(case when columnA in ('1', '2') then 1 end)
       )
from tableA;

注意分母中缺少的else。这处理被零除的情况。


推荐阅读