文档章节

LeetCode 262. Trips and Users

猪迪
 猪迪
发布于 2018/05/24 02:03
字数 439
阅读 79
收藏 0

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和Users聚合的临时表

计算取消率需要用round(*,2)四舍五入,truncate会报错

分组条件统计使用count(),count(case when c=1 then 1 end)

# Write your MySQL query statement below
select distinct u.Request_at as Day,round(count(case when (Status= 'cancelled_by_driver' or Status='cancelled_by_client') then 1 end)*1.00/count(1)*1.00,2) as `Cancellation Rate` 
from(
select distinct  Id,Client_Id,Driver_Id, City_Id,Status,Request_at,CID,CB,CR, Users_Id as DID,Banned as DB,Role as DR from 
(select Id,Client_Id,Driver_Id, City_Id,Status,Request_at,Users_Id as CID,Banned as CB,Role as CR from Trips left join Users on Trips.Client_Id=Users_Id)t
 left join Users on t.Driver_Id=Users_Id)u where CB='No' and DB='No' and u.Request_at>='2013-10-01' and u.Request_at<='2013-10-03' group by Day  ;

 

© 著作权归作者所有

共有 人打赏支持
猪迪
粉丝 6
博文 134
码字总数 180528
作品 0
海淀
程序员
私信 提问
262. Trips and Users

Description Difficulty: Hard Tag: Sql The Trips table holds all taxi trips. Each trip has a unique Id, while ClientId and DriverId are both foreign keys to the UsersId at the Us......

52iSilence7
01/04
0
0
LeetCode:Trips and Users - 出租车接单取消率

1、题目名称 Trips and Users(出租车预约取消率) 2、题目地址 https://leetcode.com/problems/trips-and-users/ 3、题目内容 表Trips内存储了出租车的接单数据,包括Id、ClientId、DriverI...

北风其凉
2015/08/23
0
0
Introducing HTTP Tracing

Introducing HTTP Tracing The Go Programming Language Blog2016-10-0456 阅读 Http Introduction In Go 1.7 we introduced HTTP tracing, a facility to gather fine-grained information ......

The Go Programming Language Blog
2016/10/04
0
0
Google Trips更省流量的同时,大数据“窃取”隐私成双刃剑

  Google Maps一直以准确、便利著称,是人们外出旅行不可缺少的帮手。但人们在使用过程中也发现了它的不少缺点和不便之处,如路线规划不简便、离线信息不准确等。现在Google为出国旅行的人...

大数据头条
2018/01/03
0
0
nomasp 博客导读:Lisp/Emacs、Algorithm、Android

版权声明:转载请联系本人,感谢配合!本站地址:http://blog.csdn.net/nomasp https://blog.csdn.net/NoMasp/article/details/44966625 Profile Introduction to Blog 您能看到这篇博客导读...

nomasp
2015/09/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-13(Mybatis基本概念和简单的例子)

在mybatis初次学习Mybatis的时候,遇到了很多问题,虽然阿里云的视频有教学,但是视频教学所使用的软件和我自己使用的软件不用,我自己用的数据库是oracle数据库,开发环境是idea。而且视频中...

白话
今天
3
0
Java基础:String、StringBuffer和StringBuilder的区别

1 String String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。 String类的包含如下定义: /** The value is used for character storage. */private final cha...

watermelon11
今天
2
0
mogodb服务

部署MongoDB 官网: https://www.mongodb.com/download-center/community 创建mongo数据目录 mkdir /data/mongodb 二进制部署 wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x8......

以谁为师
昨天
5
0
大神教你Debian GNU/Linux 9.7 “Stretch” Live和安装镜像开放下载

Debian项目团队于昨天发布了Debian GNU/Linux 9 "Stretch" 的第7个维护版本更新,重点修复了APT软件管理器中存在的安全漏洞。在敦促每位用户尽快升级系统的同时,Debian团队还发布了Debian ...

linux-tao
昨天
4
0
PHP 相关配置

1. php-fpm的pool 编辑php-fpm配置文件php-fpm.con vim /usr/local/php/etc/php-fpm.conf //在[global]部分增加以下内容 include = etc/php-fpm.d/*.conf # 相当与Nginx的虚拟主机文件 “vho......

Yue_Chen
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部