mysql - MYSQL按组获取计数百分比
问题描述
你好我有一个看起来像这样的数据库
------------------
| Tag | Value |
------------------
| A | Passed |
| A | Failed |
| B | Failed |
| A | Failed |
| B | Failed |
------------------
我正在尝试编写一个查询来获取每种类型通过的百分比
输出示例:
A: 33%
B: 50%
到目前为止,我尝试了多个查询,但我得到的最接近的结果是:
SELECT Tag, ((SELECT COUNT(*) FROM TABLE WHERE value= 'Passed') / Count(*)) * 100 AS 'Percentage to all Passed' FROM Table WHERE Value= 'Passed' GROUP BY Tag;
但我得到的结果不正确
对此有什么帮助吗?
解决方案
你可以使用交叉连接
SELECT Tag
, count(*)/t.tot
FROM my_table m
cross join (
select count(*) tot
from my_table
) t
where m.value ='passed'
推荐阅读
- c# - 为什么带有 CefSharp WPF 可插拔模块的应用程序会意外停止?
- c# - 如何检索
进行 lgrouping 后从列表中 - python - 重新调整训练集
- r - 如何用 ggplot2 (R) 绘制单个置信区间?
- c - 使用 printf 时出现意外的双值输出
- java - Kotlin 中的 Sealed 类和继承原理有什么区别?
- python - 如何使用 Python Pandas 从 1 行中的特定列中获取值?
- r - “shinyFeedback”不适用于“dateRangeInput”组件
- php - 发布到公司页面链接时验证失败 [/author] | php
- java - 为什么当我的 Raspberry pi 上有 7.5G 未使用时,我的 java 告诉我我没有 3G ram?