Trips 表中存所有出租车的行程信息。每段行程有唯一键 Id,Client_Id 和 Driver_Id 是 Users 表中 Users_Id 的外键。Status 是枚举类型,枚举成员为 (‘completed’, ‘cancelled_by_driver’, ‘cancelled_by_client’)。

+----+-----------+-----------+---------+--------------------+----------+
| 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 表存所有用户。每个用户有唯一键 Users_Id。Banned 表示这个用户是否被禁止,Role 则是一个表示(‘client’, ‘driver’, ‘partner’)的枚举类型。

+----------+--------+--------+
| 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 |
+----------+--------+--------+
写一段 SQL 语句查出 2013年10月1日 至 2013年10月3日 期间非禁止用户的取消率。基于上表,你的 SQL 语句应返回如下结果,取消率(Cancellation Rate)保留两位小数。

取消率的计算方式如下:(被司机或乘客取消的非禁止用户生成的订单数量) / (非禁止用户生成的订单总数)

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

分析:主表 - Trips 表,

被司机或乘客取消的非禁止用户生成的订单数量'cancelled_by_client' or 'cancelled_by_driver'like 'cancelled_%'

非禁止用户生成的订单总数:需要保证trip表司机与乘客非ban!需要两个User表实例关联对应字段~

ps:注意sum与count函数的区别 !

sum(),求和累加,不计算空值;

count(),求行数,空值认为没有此项;

# count(IF(a.Status = 'cancelled_by_client' or a.Status = 'cancelled_by_driver' ,1, NULL))
# count(IF(a.Status like 'cancelled_%' ,1, NULL))
# sum(IF(a.Status like 'cancelled_%' ,1, 0)
# count(case when a.Status like 'cancelled_%' then 1 else NULL end)
# sum(a.Status != 'completed')select Request_at as Day,round(sum(IF(a.Status like 'cancelled_%' ,1, 0))/count(*),2) as `Cancellation Rate`
from Trips a
left join Users b on b.Users_Id = a.Client_Id
left join Users c on c.Users_Id = a.Driver_Id
where b.Banned = 'No' and c.Banned = 'No'
and a.Request_at between '2013-10-01' and '2013-10-03'
group by a.Request_at

262. Trips and Users - 行程和用户 <Hard>相关推荐

  1. LeetCode(262):行程和用户 Trips and Users(SQL)

    2020.12.29 LeetCode 从零单刷个人笔记整理(持续更新) github:https://github.com/ChopinXBP/LeetCode-Babel 传送门:行程和用户 Tr ...

  2. LeetCode-262. 行程和用户( 262. Trips and Users)。

    Trips 表中存所有出租车的行程信息.每段行程有唯一键 Id,Client_Id 和 Driver_Id 是 Users 表中 Users_Id 的外键.Status 是枚举类型,枚举成员为 ('c ...

  3. LeetCode MySQL 262. 行程和用户

    文章目录 1. 题目 2. 解题 1. 题目 Trips 表中存所有出租车的行程信息. 每段行程有唯一键 Id,Client_Id 和 Driver_Id 是 Users 表中 Users_Id 的外 ...

  4. 262. 行程和用户

    1 题目描述 显示找到非禁止的用户和司机,在指定日期内grouping一下.然后考虑是否cancel的情况. select Request_at as Day, ROUND(SUM((IF(Statu ...

  5. 262. Trips and Users

    The Trips table holds all taxi trips. Each trip has a unique Id, while Client_Id and Driver_Id are b ...

  6. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 3丨行程和用户【难度困难】

    活动介绍: 「数据仓库技术交流群」已经正式启动每日SQL打卡,帮助大家扎实基础,努力工作之余,别忘了自我提升. 欢迎报名和邀请小伙伴参与,一个人可能走得很快,但一群人会走得很远.

  7. 微信的行程卡服务器异常,行程卡打不开服务器崩了解决方法 行程卡短信查询步教程...

    今天滚天游戏网小编为大家带来行程卡打不开服务器崩了解决方法 行程卡短信查询步教程,希望能帮助到大家. 部分地区的健康码程序也无法打开,比如山东电子健康码.信息提示,由于当前访问人数过多,小程序可能会出 ...

  8. 苹果手机公交卡怎么一直显示行程中 关闭教程

    苹果手机公交卡怎么一直显示行程中 用户使用公交卡结束后,没有关闭结束行程. 苹果手机公交卡行程关闭教程 打开苹果手机设置,点击钱包与Apple Pay 进入公交卡页面,打开服务模式,即可关闭一直显示行 ...

  9. AI 旅行工具大盘点!31 款 AI 旅行行程规划工具,一键规划旅行路线!

    0. 未来百科 未来百科(https://nav.6aiq.com),是一个知名的AI产品导航网站 -- 为发现全球优质AI工具而生 .目前已 聚集全球3000+优质AI工具产品 ,旨在帮助用户发现全 ...

最新文章

  1. BroadcastReceiver 启动activity(在activity之外启动一个activity)
  2. CTFshow 爆破 web24
  3. excel winform 导入 导出_强大的 Excel 导入导出工具 hutool
  4. visual studio 2019安装配置可编写c/c++语言的IDE环境
  5. js正则相关知识点专题
  6. HTML 事件响应函数,HTML5: 事件处理函数的this指向问题
  7. 解读:AlphaGo之父倾力打造:The Predictron端到端训练与规划
  8. 【我的Android进阶之旅】Realm数据库学习资料汇总(持续更新)
  9. NES专题——一块带给无数人年少欢乐的CPU(6502)
  10. podfile文件用到的Ruby语言的学习和使用
  11. .Net Framework 中设置Web Proxy 的方法
  12. 已经买好了域名后怎么建立一个网站
  13. 静脉炎的症状有哪些?
  14. oracle数据库报错1033,ORACLE出现错误1033和错误ORA-00600的解决方法
  15. 【单目3D目标检测】MonoDLE论文精读与代码解析
  16. 爱好-C语言秘钥产生器
  17. TypeError: Cannot set properties of undefined (setting ‘xx‘)
  18. 【STM32Cube】学习笔记(二):超声波传感器
  19. 三态内容寻址寄存器(TCAM)
  20. 红帽Rhel7.6操作系统更换成Centos7.6的操作系统

热门文章

  1. 苹果发布新款iPad Pro!就换了个「芯」,转换器骚操作笑翻网友
  2. 闪存类型测试软件,轻松测闪存类型 测试软件P10Check上架谷歌商店
  3. 体验搜狐PaaS平台搜狐云景-自动调度(Autoscale)
  4. 据说只有高端机器才配运行K8S,网友:1G内存的渣渣跑起来了!
  5. linux合并pdf命令,科学网—[转载]linux下利用命令行工具pdftk对PDF进行合并分割(转载) - 崔鹏碧的博文...
  6. linux卸载mate,【重大更新】最完美的ADB一键卸载工具,新增卸载后悔重装功能,小白福利哈!基于160...
  7. Linux操作系统中网络配置命令
  8. JPEG 简易文档 V2.11
  9. 把自己从一个疯狂下载者变成一个真正的学习者
  10. 微信小程序新手容易犯的错误_新手程序员的错误以及如何避免它们