【发布时间】:2016-02-10 18:32:21
【问题描述】:
我已经编写了这个查询来获取我的数据,并且所有数据都很好。
我有一列要么通过,要么失败。我想计算失败预订数量的百分比,并将其输出为单个值。
我将不得不编写另一个查询来显示那个数字。
【问题讨论】:
-
您使用什么 RDBMS - MySQL 或 MS SQL Server?请相应地更新您的标签。
-
提供一些示例表数据
我已经编写了这个查询来获取我的数据,并且所有数据都很好。
我有一列要么通过,要么失败。我想计算失败预订数量的百分比,并将其输出为单个值。
我将不得不编写另一个查询来显示那个数字。
【问题讨论】:
也许是这个?你并没有真正提供太多的继续:
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 ...
【讨论】:
查询
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;
【讨论】: