作业1:

行程和用户(难度:困难) 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 |

+------------+-------------------+

SELECT Request_at AS Day, ROUND(count(Status != 'completed' OR NULL)/count(*),2) AS "Cancellation Rate"

FROM Trips, users

WHERE Trips.Client_Id = users.Users_Id

AND Banned="no" and Request_at BETWEEN "2013-10-1" AND "2013-10-3"

GROUP BY Request_at;

作业2:

各部门前3高工资的员工(难度:中等) 将项目7中的employee表清空,重新插入以下数据(其实是多插入5,6两行):

+----+-------+--------+--------------+

| Id | Name | Salary | DepartmentId |

+----+-------+--------+--------------+

| 1 | Joe | 70000 | 1 |

| 2 | Henry | 80000 | 2 |

| 3 | Sam | 60000 | 2 |

| 4 | Max | 90000 | 1 |

| 5 | Janet | 69000 | 1 |

| 6 | Randy | 85000 | 1 |

+----+-------+--------+--------------+

编写一个 SQL 查询,找出每个部门工资前三高的员工。例如,根据上述给定的表格,查询结果应返回:

+------------+----------+--------+

| Department | Employee | Salary |

+------------+----------+--------+

| IT | Max | 90000 |

| IT | Randy | 85000 |

| IT | Joe | 70000 |

| Sales | Henry | 80000 |

| Sales | Sam | 60000 |

+------------+----------+--------+

select d.Name Department, e.Name Employee, e.Salary Salary

from Employee e inner join Department d

on e.department_id = d.Id

where (

select count(distinct c.Salary)

from Employee c

where e.Salary < c.Salary and e.department_id = c.department_id

) < 3

order by e.department_id, e.Salary desc;

作业3:

分数排名 - (难度:中等) 依然是昨天的分数表,实现排名功能,但是排名是非连续的,如下:

+-------+------+

| Score | Rank |

+-------+------+

| 4.00 | 1 |

| 4.00 | 1 |

| 3.85 | 3 |

| 3.65 | 4 |

| 3.65 | 4 |

| 3.50 | 6 |

+-------+------+

SELECT score,(SELECT COUNT(score)+1

FROM score

WHERE score>s.score) AS r

FROM score AS s

ORDER BY score DESC;

mysql连续打卡次数_MySQL打卡学习(第四次)相关推荐

  1. mysql连续打卡次数_MySQL查询连续打卡信息?

    导读:最近多次看到用SQL查询连续打卡信息问题,自己也实践一波.抛开问题本身,也是对MySQL窗口函数和自定义变量用法的一种练习. 00 建表 所用数据库为MySQL8.0,简单而不失一般性,建立一个 ...

  2. Labview软件、NI数据采集卡、汽车发动机数据采集学习总结(四)-------发动机上的传感器详解

    系列文章目录 第一章:汽车发动机数据采集上位机环境的搭建 第二章:Labview中的DAQ助手中器件详解 第三章:利用labview和NI数据采集卡采集汽车发动机中温度传感器的电压信号并处理 第四章: ...

  3. mysql数据库比对视频教程_MySQL数据库全学习实战视频教程(27讲 )

    一)mySQL数据库简介:MySQL属于关系型数据库,是当前最流行的关系型数据库管理系统之一,在WEB项目使用方面,MySQL是最好的 RDBMS应用软件. 二)本mySQL数据库视频教程目录如下:  ...

  4. mysql的高阶用法_MySQL的经典用法(十四)-高级优化

    mysql的经典用法(十四)----高级优化 基于 /application/search/mysql/mysql-5.5.28/support-files/my-innodb-heavy-4G.cn ...

  5. mysql性能优化 硬件优化_mysql性能优化学习笔记(6)数据库配置优化硬件优化...

    一.操作系统配置优化: 1. 网络方面,修改/etc/sysctl.conf文件,增加tcp支持的队列数,减少断开连接时,资源的回收. 2. 打开文件数的限制.修改/etc/security/limi ...

  6. mysql的源码目录_Mysql DBA系统学习(2)了解mysql的源码目录及源文件

    了解mysql的源码目录 包括客户端代码,服务端代码,测试工具和其他库文件 Bdb 伯克利DB表引擎 BUILD 构建工程的脚本 Client 客户端 Cmd-line-utils 命令行工具 Con ...

  7. mysql索引linke和等于_MySQL索引的学习

    MySQL索引的学习 关于使用mysql索引的好处,合理的设计并使用mysql索引能够有效地提高查询效率.对于没有索引的表,单表查询可能几十万数据就是平静,在大型网站单日可能会产生几十万甚至几百万的数 ...

  8. 列举MySQL事务的隔离级别_mysql dba系统学习(22)数据库事务详解

    上个星期去面试数据库管理员的工作,笔试通过之后就是直接的面试,他问了我一个问题,叫我介绍哈数据库的事务的看法和理解,但是不知所错的没有章法的乱答一气,唉唉,基础不扎实啊. 下面来好好的学习哈mysql ...

  9. MySql数据库explain用法示例_mysql explain用法学习

    本节内容: mysql中explain用法 如果在select语句前放上关键词explain,mysql将解释它如何处理select,提供有关表如何联接和联接的次序. explain的每个输出行提供一 ...

最新文章

  1. 用fieldset标签轻松实现Tab选项卡效果
  2. 文巾解题 1433. 检查一个字符串是否可以打破另一个字符串
  3. Java程序员从笨鸟到菜鸟之(八十六)跟我学jquery(二)大话jquery选择器
  4. codeblocks如何watch指针
  5. 曝光原理_简单摄影之一 曝光原理
  6. CMake 编译 OpenCV 项目,不是编译OpenCV, 用了之后才知道CMake也太好用了。
  7. Effective C# 原则35:选择重写函数而不是使用事件句柄(译)
  8. 1607: 字符棱形
  9. linux装Oracle需要jdk,告诉你Ubuntu Linux下安装Oracle JDK的方法及命令
  10. LNMP+FARM+DNS
  11. 怎么快速把wmv视频格式转换成mp4视频
  12. 东财《组织行为学B》综合作业
  13. 【FinE】远期、期货、互换定价
  14. 上线啦,PP.io!
  15. java char取值范围是_Java 基本数据类型取值范围讲解
  16. DAX——FILTER
  17. 电子爱好者必备,强烈推荐这些常用工具
  18. C语言之网络编程(必背知识点)
  19. foter 图像处理APP_黑科技!图像识别app开发的用处原来这么多?
  20. http://tb.blog.csdn.net/TrackBack.aspx?PostId=1528237

热门文章

  1. C# 获取公网ip地址
  2. 谷歌SEO实战教程:谷歌排名第一秘籍,内容从入门到高阶,适合个人及团队
  3. 湖南安院•美和易思校企共建专业PPT制作与演讲大赛圆满落幕
  4. 台达PLC串口通讯(自由口通讯)
  5. ChatGPT的朋友们:大语言模型经典论文一次读到吐
  6. phpcms模板语法自总结例子
  7. 093 《习惯的力量》简记
  8. 创业商业模式设计与实务
  9. 通俗易懂的双亲委派机制
  10. Camera学习(1)