【问题标题】:Query to display the % of the failure rate查询显示失败率的百分比
【发布时间】:2016-02-10 18:32:21
【问题描述】:

我已经编写了这个查询来获取我的数据,并且所有数据都很好。

我有一列要么通过,要么失败。我想计算失败预订数量的百分比,并将其输出为单个值。

我将不得不编写另一个查询来显示那个数字。

【问题讨论】:

  • 您使用什么 RDBMS - MySQL 或 MS SQL Server?请相应地更新您的标签。
  • 提供一些示例表数据

标签: mysql sql database join


【解决方案1】:

也许是这个?你并没有真正提供太多的继续:

SELECT
    SUM(CASE
        WHEN trip_rating.rating <= 3 OR
           TIMESTAMPDIFF(MINUTE, booking_activity.activity_time, booking.pick_up_time) < 0 
    THEN 1.00 ELSE NULL END
    ) / COUNT(*)
FROM ...

【讨论】:

  • 这并没有给我 % 的数据,我厌倦了乘以 100。似乎不起作用。请帮忙。
  • 尝试乘以十进制的 100.00!!
  • 确实如此,但假设我有 10000 条记录,我可以看到超过一半的记录失败 - 这给了我 4.0% 的失败。
  • 也许是那些额外的连接。不能说太多,因为我们对您的数据一无所知。
  • 我正在尝试将图片附加到帖子中。似乎没有任何工作@shawnt00
【解决方案2】:

查询

select 
  concat(
    cast(
      (
        sum(case when t.Decision = 'Fail' then 1 else 0 end) / count(*)) * 100 
      as varchar(3)
  ), '%') as `fail rate`
from
(
  select ........
  case ........ end as Decision
)t;

【讨论】:

  • 我已经添加了数据。
  • 将您的 sql 查询保留为子查询
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-12
  • 2019-08-12
  • 2015-03-17
  • 1970-01-01
  • 1970-01-01
  • 2022-11-16
相关资源
最近更新 更多