mysql学习--day06

leetcode数据库题型(行程和用户) 行程和用户 SQL架构 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| ±—±———-±———-±——–±——————-±—— 立即下载

项目十:行程和用户(难度:困难)

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

Users 表存所有用户。每个用户有唯一键 Users_Id。Banned 表示这个用户是否被禁止,Role 则是一个表示(‘client’, ‘driver’, ‘partner’)的枚举类型。

新建表和插入数据

CREATE TABLE IF NOT EXISTS Trips (
Id         INT, 
Client_Id  INT, 
Driver_Id  INT, 
City_Id    INT, 
Status     ENUM('completed', 'cancelled_by_driver', 'cancelled_by_client'), 
Request_at VARCHAR(50)
);

CREATE TABLE IF NOT EXISTS Users (
Users_Id INT, 
Banned   VARCHAR(50), 
Role     ENUM('client', 'driver', 'partner')
);


TRUNCATE TABLE Trips;
INSERT INTO Trips (Id, Client_Id, Driver_Id, City_Id, Status, Request_at) VALUES ('1', '1', '10', '1', 'completed', '2013-10-01');
INSERT INTO Trips (Id, Client_Id, Driver_Id, City_Id, Status, Request_at) VALUES ('2', '2', '11', '1', 'cancelled_by_driver', '2013-10-01');
INSERT INTO Trips (Id, Client_Id, Driver_Id, City_Id, Status, Request_at) VALUES ('3', '3', '12', '6', 'completed', '2013-10-01');
INSERT INTO Trips (Id, Client_Id, Driver_Id, City_Id, Status, Request_at) VALUES ('4', '4', '13', '6', 'cancelled_by_client', '2013-10-01');
INSERT INTO Trips (Id, Client_Id, Driver_Id, City_Id, Status, Request_at) VALUES ('5', '1', '10', '1', 'completed', '2013-10-02');
INSERT INTO Trips (Id, Client_Id, Driver_Id, City_Id, Status, Request_at) VALUES ('6', '2', '11', '6', 'completed', '2013-10-02');
INSERT INTO Trips (Id, Client_Id, Driver_Id, City_Id, Status, Request_at) VALUES ('7', '3', '12', '6', 'completed', '2013-10-02');
INSERT INTO Trips (Id, Client_Id, Driver_Id, City_Id, Status, Request_at) VALUES ('8', '2', '12', '12', 'completed', '2013-10-03');
INSERT INTO Trips (Id, Client_Id, Driver_Id, City_Id, Status, Request_at) VALUES ('9', '3', '10', '12', 'completed', '2013-10-03');
INSERT INTO Trips (Id, Client_Id, Driver_Id, City_Id, Status, Request_at) VALUES ('10', '4', '13', '12', 'cancelled_by_driver', '2013-10-03');

TRUNCATE TABLE Users;
INSERT INTO Users (Users_Id, Banned, Role) VALUES ('1',  'No',  'client');
INSERT INTO Users (Users_Id, Banned, Role) VALUES ('2',  'Yes', 'client');
INSERT INTO Users (Users_Id, Banned, Role) VALUES ('3',  'No',  'client');
INSERT INTO Users (Users_Id, Banned, Role) VALUES ('4',  'No',  'client');
INSERT INTO Users (Users_Id, Banned, Role) VALUES ('10', 'No',  'driver');
INSERT INTO Users (Users_Id, Banned, Role) VALUES ('11', 'No',  'driver');
INSERT INTO Users (Users_Id, Banned, Role) VALUES ('12', 'No',  'driver');
INSERT INTO Users (Users_Id, Banned, Role) VALUES ('13', 'No',  'driver');

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

select table2.Request_at,FORMAT(IFNULL(cancled_num/request_num,0),2) AS Cancellation_Rate
from

(SELECT n.Request_at,COUNT(n.Request_at) AS cancled_num
  FROM

			(SELECT t.Status,t.Request_at,u.Banned
				FROM trips t
					INNER JOIN users u
			 WHERE (t.Request_at BETWEEN '2013-10-01' AND '2013-10-03')
					AND (t.Client_Id = u.Users_Id )
					AND u.Banned = 'No') AS n
 WHERE n.Status !='completed'
 GROUP BY n.Request_at) AS table1
RIGHT JOIN
(SELECT COUNT(n1.Request_at)AS request_num,Request_at
FROM
(SELECT t.Status,t.Request_at,u.Banned
						FROM trips t
							INNER JOIN users u
					 WHERE (t.Request_at BETWEEN '2013-10-01' AND '2013-10-03')
							AND (t.Client_Id = u.Users_Id )
							AND u.Banned = 'No')AS n1
GROUP BY Request_at)AS table2
on table1.Request_at = table2.Request_at;

结果为:

项目十一:各部门前3高工资的员工(难度:中等)

将昨天employee表清空,重新插入以下数据(其实是多插入5,6两行): 

INSERT INTO employee VALUES(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 查询,找出每个部门工资前三高的员工。例如,根据上述给定的表格,查询结果应返回

SELECT *
FROM
		((SELECT * 
		FROM
		(SELECT d.Name AS department,e.Name AS Emoloyee,e.Salary
			FROM employee e
		 INNER JOIN department d
		WHERE e.DepartmentId = d.Id
		ORDER BY Salary DESC)AS n 
		WHERE department = 'IT'
		LIMIT 3)
  UNION
		(SELECT * 
				FROM
				(SELECT d.Name AS department,e.Name AS Emoloyee,e.Salary
					FROM employee e
				 INNER JOIN department d
				WHERE e.DepartmentId = d.Id
				ORDER BY Salary DESC)AS n 
				WHERE department = 'Sales'
				LIMIT 3))as table1;

 结果为:

项目十二 分数排名 - (难度:中等)

依然是昨天的分数表,如下:

 

 实现排名功能,但是排名是非连续的,

SELECT Score,(SELECT COUNT(Score)+1  FROM score WHERE Score>s.Score) AS 'rank'
from score s
ORDER BY Score DESC;

Unity URP项目里Post Processing死活没效果?别慌,这5个坑我帮你踩过了 本文详细解析了Unity URP项目中Post Processing效果失效的五大常见问题,包括渲染管线配置冲突、Volume作用域误判、摄像机参数漏配、Layer层级冲突和Profile引用异常。通过实际项目案例和代码示例,提供专业级解决方案,帮助开发者快速排查并修复后处理效果不生效的问题。 阅读详情

相关推荐

Canoe Panel基础功能介绍

CANoe Panel 是 Vector CANoe 软件中用于设计图形化操作界面的功能模块。用户可以在面板上添加合适的控件,实时的改变信号或者变量的值

m0_56208280的博客 1951

[译]ios开发之处理流错误

译自:Handling Stream Errors 通常情况下,特别是与sockets相关联时,streams会遇到错误从而不能进一步处理stream data。一般情况下,错误提示了在流的一端缺失了东西,比如说远程主机的crash,正在使用的文件被删除等等。在此情况下,客户端能够做的就是将这些错误提示给用户,尽管一个stream object在上报错误之后,在它关闭之前仍然可以查询它的

wsmrcool的专栏 1743

iOS In-App Purchase 自动续订订阅完整实现指南

本文摘要: 自动续订订阅是iOS应用变现的核心模式,适用于流媒体、云存储等持续服务场景。文章系统讲解了从配置到实现的完整流程:首先对比各类订阅模式特点,解析订阅生命周期和关键术语;然后详细说明App Store Connect中的订阅组创建、产品配置和服务器通知设置;最后展示客户端StoreKit实现方案,包括产品标识符定义、订阅管理器封装和支付队列观察机制。全文提供可落地的代码示例和技术细节,帮助开发者掌握自动续订订阅的全链路实现。

Sheffi 1760

Android中的网络请求:

httpUrlConnection 在Android 2.2及以下版本使用 httpURLconnection存在一些bug,所以建议在2.2及以下使用httpClient,2.3及以上使用httpUrlConnection。 **特点: 1.API简单,体积较小,因而非常适用于Android项目。 2.压缩和缓存机制可以有效地减少网络访问的流量,在提升速度和省电方面也起到了较大的作用

MyselfGang的博客 672

SiC双向车载充电器技术解析与V2G应用

碳化硅(SiC)功率器件凭借其高击穿电场强度、优异热导率和低开关损耗特性,正在重塑电力电子系统的设计边界。作为第三代半导体材料的代表,SiC MOSFET通过降低80%的开关损耗,使车载充电器(OBC)效率突破96.5%。在双向能量转换架构中,图腾柱PFC与CLLC谐振变换器的组合实现了ZVS软开关,配合三维集成散热方案使功率密度达54W/in³。这些技术进步直接支撑了V2G(车辆到电网)应用场景,使电动车成为虚拟电厂(VPP)的关键单元。通过智能充放电策略优化,电池循环寿命可提升至4000次以上,为电力市

weixin_30693683的博客 275

保姆级教程:在Ubuntu 21.04上搞定USRP X410的UHD 4.1驱动与Gnuradio 3.9安装(含虚拟机网络避坑指南)

本文提供在Ubuntu 21.04上配置USRP X410的UHD 4.1驱动与Gnuradio 3.9的详细教程,涵盖虚拟机网络设置、依赖安装、源码编译及常见问题解决方案,帮助开发者高效搭建SDR开发环境。

weixin_27869497的博客 272

【Leetcode】数据库题目:行程和用户

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

YYIverson的博客 581

汽车诊断服务(UDS——0x11服务解析)

ECU复位服务(0x11)详解:该服务支持硬件/钥匙开关/软件三种复位类型(0x01-0x03),复位前需发送肯定响应。请求格式为11+子功能,响应含51+子功能。典型应用需配合安全访问流程,测试时需监控CAN总线通信及DTC状态。复位后ECU将返回默认会话,期间不处理任何诊断请求。服务在编程会话且安全解锁后执行,硬复位会初始化存储数据。

从事汽车行业 979

Leetcode SQL(五)

177. 第N高的薪水 https://leetcode-cn.com/problems/nth-highest-salary/ 题解 一:dense_rank函数。 CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN RETURN ( # Write your MySQL query statement below. select distinct Salary from (se...

xuanshuang的博客 1055

【C语言笔记初级篇】第一章:C语言快速入门及注意事项

(1)第一个C语言程序 A:利用vs2010写C语言程序 1:按以下步骤新建工程 2:添加源文件,“.c”文件 B:第一个C语言代码 1:以下是基本的C语言程序 2:由于没有设置连接器,所以打印结果没有显示,按照如下步骤链接控制台 (2)数据类型 A:基本数据类型及占用字节 B:一些概念的梳理 概念一:关于计算机的单位 位(bit):计算机通过电路的开关和闭合处理信息,电路通...

快乐江湖的博客 3737

Open3D 计算点云的倒角距离(Chamfer Distance)【2025最新版】

;Chamfer Distance距离可以计算生成点云数据与标签点云数据之间的平均最短点距离。Open3D可以直接用来计算点云的Chamfer Distance距离。博客长期更新,本文最近一次更新时间为:2025年2月18日。

点云侠的博客 3254

MySQL学习笔记打卡-4

4.1 MySQL 实战 #学习内容# 数据导入导出 将之前创建的任意一张MySQL表导出,且是CSV/XLS格式 再将CSV/XLS表导入数据库 –导出表(email表,xls格式) 右键单击-导出向导-选择Excel数据表(.xls)-设置导出路径和文件名称-一直下一步-导出成功* –结果 –导入上一步导出的email(*.xls)表 右键目标数据库下的表,选择导入向导 选择Excel文...

Baby1601tree的博客 377

大模型微调部署实战及类GPT工具的高效使用

本文主要介绍了专栏《大模型微调部署实战及类GPT工具的高效使用》的核心内容,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 专栏亮点 3. 你的收获 4. 详细目录

herosunly的博客 22万+

Mysql基础学习Day06

Mysql基础学习Day06

qq_45732338的博客 585

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Javaweb学习 Day06-Day08MySQL总结

1、数据库管理系统(DataBaseManagementSystem,简称DBMS)2、SQL(StructuredQueryLanguage,简称SQL):结构化查询语言,它是操作关系型数据库的编程语言。通过MySQL客户端连接数据库管理系统DBMS,使用MySQL客户端,向数据库管理系统发送一条SQL语句,然后通过DBMS操作数据库,由数据库管理系统根据SQL语句指令去操作数据库中的表结构及数据。一个数据库服务器中可以创建多个数据库,一个数据库中也可以包含多张表,而一张表中又可以包含多行记录。

youngee11的博客 1186

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

MySQL学习使用[9天系列 学习笔记 Day06]

MySQL学习使用[9天系列 学习笔记 Day06]分组统计和限制分组输出

besthtml的博客 453

MySQL学习day06

函数:是指一段可以直接被另一段程序调用的程序代码。7、分隔(起始索引为1)

Hunter2916的博客 555

MySQL学习日记——DAY06

,也可以指定外键约束名。用到的关键字:NOT NULL,我们既可以在创建表的时候设置非空约束,也可以:在创建表后使用ALTER进行设置;(5)当主表的记录被从表参照时,主表的记录将不允许删除,如果要删除数据,需要先删除从表中依赖该记录的数据,然后才可以删除主表的数据。语法格式:INSERT INTO 表名(字段1,字段2,字段3...)VALUES(数据1,数据2,数据3...);5.约束:在MySQL里,“约束”指的是对表中数据的一种限制约束,它能够确保数据库中数据的准确性和有效性;

happymaker0626的博客 361

MySql学习 day06

作业 项目十:行程和用户(难度:困难) Trips 表中存所有出租车的行程信息。每段行程有唯一键 Id,Client_Id 和 Driver_Id 是 Users 表中 Users_Id 的外键。Status 是枚举类型,枚举成员为 (‘completed’, ‘cancelled_by_driver’, ‘cancelled_by_client’)。 ±—±----------±--------...

weixin_44129956的博客 154

小白MySQL学习-day06

delimiter $$ --这一行是改变结束条件为输入$$returns int -- 返回值BEGINEND $$delimiter;

qq_74593128的博客 112

day06-MySQL学习笔记01

前面说过,三层架构,其中dao层用于操作数据。在上面的项目中,数据放在了xml文件中。在企业开发中,数据一般存储在数据库中,我们直接对数据库操作。今天就学习如何操作数据库。首先来了解一下什么是数据库。数据库:英文为 DataBase,简称DB,它是存储和管理数据的仓库。像我们日常访问的电商网站京东,企业内部的管理系统OA、ERP、CRM这类的系统,以及大家每天都会刷的头条、抖音类的app,那这些大家所看到的数据,其实都是存储在数据库中的。

qq_45348840的博客 1145

小王学习MYSQL之旅Day06

数据库学习第六天 一.DQL查询数据(最重点) 1.DQL(Data Query Language) 所有的查询操作都用它----Select 简单的查询,复杂的查询都可以 数据库中最核心的语言 SELECT 语法 SELECT [ALL | DISTINCT] {* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]} FROM table_name [as table_alias]

等我千分就网恋的blog 241

MySQL基础学习笔记_Day06

MySQL基础学习_Day06

传说哈哈哈 185

MySQL学习:Day06

聚合函数:将一列数据作为一个整体 二、分组查询 1.语法 三、排序查询 1.语法 ASC:升序(默认值)DESC:降序 四、分页查询 1.语法 五、练习题 六、执行顺序 1.顺序 七、总结

2301_76481680的博客 152

day06【入门】MySQL学习(3)完结!!!!

今日学习目标,mysql剩余的一小部分。开始接口自动化测试的学习。mysql相关查询命令;

欢迎来到我的频道~ 524

MySQL学习Day06——多表连接和子查询

MySQL外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用,对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表,外键所在的表就是从表。外键用来建立主表和从表的关联关系,为两个表的数据建立连接,约束两个表中的数据一致性和完整性。多对多关系:多对多关系的实现需要借助第三张中间表,中间表至少包含两个字段,将多对多的关系拆分成一对多的关系。一对一关系:在任一表中添加唯一外键,指向另一方主键,确保一对一的关系,一对一关系一般比较少见,遇到一对一关系的表最好是合并表。

m0_50460160的博客 247
上一篇: mysql学习----day05
下一篇: mysql学习--项目汇总
小小哆啦的口袋
博客等级 码龄9年 33粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值