sql - 除以两个计数 Oracle SQL
问题描述
我正在尝试编写我认为是一个相当简单的查询,但事实证明它比我想象的要难。我想划分两个select语句的结果:
Select count (*) from tableA where columnA = 'A'
/
Select count (*) from tableA where columnA in ('1','2')
我正在使用 Oracle SQL Developer
感谢您的任何指导
解决方案
我会推荐条件聚合。. . 但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
。这处理被零除的情况。
推荐阅读
- django - 从外部 Django 应用程序调用 gRPC 客户端存根
- firefox - Geckodriver、Firefox 和 Centos 兼容
- excel - VB.Net 写入单元格的奇怪行为
- outlook-addin - 调试移动插件
- php - 从 JSON 解码 PHP 数组 Assoc 获取数据
- html - 导航栏没有 UL 标记 - 无法在页面上居中链接
- dart - 从 LatLng 列表计算总距离
- sql - CTE中的Getdate导致数据过度乘法
- c# - 如何使用 X509Certificate 对 IoT 设备进行身份验证
- python - Scrapy/Python 从产量请求中获取项目