首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >两个选择计数查询,然后计算百分比

两个选择计数查询,然后计算百分比
EN

Stack Overflow用户
提问于 2015-12-23 18:39:34
回答 1查看 1.6K关注 0票数 2

我想把两个问题结合起来

代码语言:javascript
复制
SELECT COUNT(*) FROM abc;
SELECT COUNT(Status) FROM ABC WHERE Status='Active';

然后计算百分比(将第二个查询除以第一个查询)。我想在一个查询中实现这一点。到目前为止,我尝试的是:

代码语言:javascript
复制
SELECT COUNT(*) AS A FROM abc
UNION
SELECT COUNT(Status) AS B FROM ABC WHERE Status='Active';
UNION 
SELECT(COUNT(Status)*100/SELECT COUNT(*) FROM abc)) AS %ofAB FROM abc WHERE Status='Active'

我得到的是:

代码语言:javascript
复制
A
--
31
36
86,11111111

我想要的:

代码语言:javascript
复制
A  | B  | %ofAB
---------------------
36 | 31 | 86,1111111%    
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-23 18:45:26

这应该给你你想要的:

代码语言:javascript
复制
SELECT
    COUNT(*) AS TotalCount,
    SUM(IIF(Status = 'Active', 1, 0)) AS ActiveCount,
    ROUND((SUM(IIF(Status = 'Active', 1, 0)) * 100/ COUNT(*)),2) AS PctActive
FROM
    Abc

编辑:没有注意到这是用于访问的。我不知道CAST在Access中是否可用,所以您可能需要使用一个等价的函数来确保整数不会简单地产生1或0。Access可能会自动将一个除数转换为十进制,但在Server中并非如此。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34441779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档