我试图了解从两个查询中划分计数和的正确方法。
我正在自学sql并在线练习。
问题:
编写 SQL 查询以查找 2017-08-01 和 2017-08-03 之间发出的请求的取消率。取消率是通过将取消的请求数除以每天的总乘车次数得出的。结果表应该有 2 列,即显示每一天的 Day 和提供当天取消率的 Cancellation Rate。
表是:
我尝试的是:
- 计算每个日期的取消乘车率
- 计算每个日期的所有乘车请求
- 除以每个日期的计数
with
cancelled_rides as
(select count(*) cancel_count, status, Request_id
from TRIPS
where status = 'cncld_driver'
group by state, Request_id)
all_rides as (
select count(*) day_count, status, Request_id
from TRIPS
group by state, Request_id) ,
select cancelled_rides.Request_id as DAY,
(cancelled_rides.cancel_count/all_rides.day_count) as 'Cancellation Rate'
FROM cancelled_rides, all_rides;
这看起来对吗?注意我故意忽略了包括日期范围,因为该表只有有限的条目。