mysql - MySQL:根据特定值计算百分比组成
问题描述
我有以下名为 Table1 的 MySQL 表
结果可以是通过或失败。我想计算每个 id 的通过百分比。
结果必须是基于公式的下表:对于每个 id,计算给定 id 的 Pass / Total Counts。例如 id 2 有 2 次通过和 2 次失败,因此通过百分比 = 2/4
下面的我的 Sql 查询给出了错误的结果
SELECT id,COUNT(Result) * 100 / (SELECT COUNT(Result) FROM aa WHERE Result = 'Pass') as Percent
FROM aa
GROUP BY id
请帮忙
解决方案
您可以像这样进行条件聚合:
select id, avg(result = 'Pass') as pass_ratio
from mytable
group by id
在 的上下文中avg()
,条件result = 'Pass'
被评估为1
真假0
。您可以平均这些值以获得“通过”的比率。
推荐阅读
- java - NetBeans 历史记录未显示
- php - PHP - 根据用户回答形成问题群体
- javascript - 模块构建失败(来自 ./node_modules/@nuxt/webpack/node_modules/babel-loader/lib/index.js):
- python - 尽管安装了 pygame,但无法将其导入 VScode
- botframework - 如何防止在 Teams 输入框中键入的单个字符与 Teams Bot 命令进行激进匹配,从而中断消息的键入?
- pine-script - 交易视图不会显示结果
- c++ - C++ STL 列表插入排序
- kotlin - 在 Kotlin 中时
- python - 使用 Selenium 和 Beautifulsoup 解析 Airdna 地图悬停在文本上
- javascript - Javascript 从对象数组中删除空对象或未定义对象