leetcodesql(oracle)的答案被“接受”,但系统说这是错误的

oxf4rvwz  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(277)

这是我第二次遇到这样的问题:答案被“接受”,但在“提交”中被认为是错误的。
问题
在“2013-10-01”和“2013-10-03”之间,每天编写一个sql查询以查找未绑定用户(客户端和驱动程序都不能被禁止)请求的取消率。

Trips table:
+----+-----------+-----------+---------+---------------------+------------+
| Id | Client_Id | Driver_Id | City_Id | Status              | Request_at |
+----+-----------+-----------+---------+---------------------+------------+
| 1  | 1         | 10        | 1       | completed           | 2013-10-01 |
| 2  | 2         | 11        | 1       | cancelled_by_driver | 2013-10-01 |
| 3  | 3         | 12        | 6       | completed           | 2013-10-01 |
| 4  | 4         | 13        | 6       | cancelled_by_client | 2013-10-01 |
| 5  | 1         | 10        | 1       | completed           | 2013-10-02 |
| 6  | 2         | 11        | 6       | completed           | 2013-10-02 |
| 7  | 3         | 12        | 6       | completed           | 2013-10-02 |
| 8  | 2         | 12        | 12      | completed           | 2013-10-03 |
| 9  | 3         | 10        | 12      | completed           | 2013-10-03 |
| 10 | 4         | 13        | 12      | cancelled_by_driver | 2013-10-03 |
+----+-----------+-----------+---------+---------------------+------------+

Users table:
+----------+--------+--------+
| Users_Id | Banned | Role   |
+----------+--------+--------+
| 1        | No     | client |
| 2        | Yes    | client |
| 3        | No     | client |
| 4        | No     | client |
| 10       | No     | driver |
| 11       | No     | driver |
| 12       | No     | driver |
| 13       | No     | driver |
+----------+--------+--------+

标准答案

Result table:
+------------+-------------------+
| Day        | Cancellation Rate |
+------------+-------------------+
| 2013-10-01 | 0.33              |
| 2013-10-02 | 0.00              |
| 2013-10-03 | 0.50              |
+------------+-------------------+

我的代码(oracle sql)

with base as (
select
    Id
    , Client_Id
    , Driver_Id
    , case 
        when Status like '%completed%' then 1
        else 0
      end completed
    , Request_at
from Trips left 
    where Client_Id in (select Users_Id from Users where Banned = 'No')
        and Driver_Id in (select Users_Id from Users where Banned = 'No')
)
select
    Request_at as Day
    , round((count(Id) - sum(completed)) / count(Id), 2) as "Cancellation Rate"
from base
group by Request_at
order by Request_at

我的输出

{"headers": ["DAY", "Cancellation Rate"], "values": [["2013-10-01", 0.33], ["2013-10-02", 0], ["2013-10-03", 0.5]]}

我不明白我为什么不服从。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题