mysql - SQL 百分比查找任务

标签 mysql sql oracle-sqldeveloper

我正在尝试获取每种类型消息的处理错误百分比。 顺便说一下,我们只需要取> 5% 的百分比。 尝试寻找解决方案,但没有任何效果..

数据库的结构:

The Structure of Database

QRY_TYPE(ID – 类型的唯一标识符,С_NAME – 类型名称,C_AB_REF – 链接到abonent,处理这些类型的消息)。

ST_ABONENTS(ID – 唯一标识符,С_NAME – 名称)

QRY_QUEUE(ID – 唯一标识符,С_IN_TIME – 将消息写入表的日期和时间,C_EXEC_TIME – 消息处理的日期和时间,C_ST – 处理状态(null - 未处理,1 – 成功,0 – 处理错误),C_QRY_TYPE – 链接查询类型)。

这是我的尝试之一,它仍然不起作用

select qt.c_name as qrytype, count(qq.C_ST)/(SELECT count(*) from qry_queue)*100 as PRC
from qry_type qt 
inner join qry_queue qq on qt.id = qq.c_qry_type
where qq.c_st =0 
group by qt.c_name;

结果应该是这样的

RESULT

最佳答案

如果没有实际数据和信息,很难判断什么不起作用

所以这可能就是您想要的:

select *
from
 (
   select qt.c_name as qrytype, 
      count(case when qq.c_st = '0' then qq.C_ST end) -- only rows with errors
      /count(*) * 100 as  PRC                         -- all rows
   from qry_type qt 
   inner join qry_queue qq on qt.id = qq.c_qry_type
   group by qt.c_name
 ) dt
where PRC >= 5

关于mysql - SQL 百分比查找任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35950046/

相关文章:

php - MySQLi multi_query 安全预防措施

mysql - SQLYog 为 MySQL 设置变量返回 null

mysql - 带有聚合函数的 SQL HAVING 子句?

oracle - SQLDeveloper 将结果导出到 CSV 的速度很慢

MySQL `SUM` 和 `GROUP BY` 结果中缺少数据

mysql - 内联查询和存储过程相同查询的不同执行

mysql - 是否可以索引运行总计以加速窗口函数?

sql - 动态生成 where 子句的最佳方法是什么?

oracle-sqldeveloper - SQL Developer 耗尽了我的配置文件空间

mysql - 使用 MySQL 时在 SQL Developer 中禁用自动提交