力扣mysql刷题记录

news2025/3/1 3:12:34

mysql刷题记录

刷题链接https://leetcode.cn/study-plan/sql/?progress=jkih0qc


mysql冲!

  • mysql刷题记录
  • 一. 1699. 两人之间的通话次数
  • 二、1251. 平均售价
  • 三. 1571. 仓库经理
  • 四.1445. 苹果和桔子
  • 五.1193. 每月交易 I
  • 六.1633. 各赛事的用户注册率
  • 七.1173. 即时食物配送 I
  • 八.1211. 查询结果的质量和占比


一. 1699. 两人之间的通话次数

编写 SQL 语句,查询每一对用户 (person1, person2) 之间的通话次数和通话总时长,其中 person1 < person2 。

该表没有主键,可能存在重复项。
该表包含 from_id 与 to_id 间的一次电话的时长。
from_id != to_id

示例 :在这里插入图片描述

解释:
用户 1 和 2 打过 2 次电话,总时长为 70 (59 + 11)。
用户 1 和 3 打过 1 次电话,总时长为 20。
用户 3 和 4 打过 4 次电话,总时长为 999 (100 + 200 + 200 + 499)。

解法一

select
    least(from_id, to_id) person1,
    greatest(from_id, to_id) person2,
    count(1) call_count,--count(1)≈count(*)统计列个数
    sum(duration) total_duration
from
    Calls
group by
    least(from_id, to_id), greatest(from_id, to_id);
    --根据最小,最大值相同点去判断

解法二

select
    if(from_id<to_id,from_id,to_id) person1,
    if(from_id<to_id,to_id,from_id) person2,
    count(1) call_count,
    sum(duration) total_duration
from
    Calls
group by
    person1,person2;

知识点:

  1. least():一条记录中取几个字段的最小值
    greates(): 一条记录中取几个字段的最大值
    eg:
    SELECT greatest(3,5,1,8,33,99,34,55,67,43) as max;
    结果:99

  2. if语句语法:
    if(条件,如果是,如果不是)

  3. group by分组匹配,可以多条件

二、1251. 平均售价

在这里插入图片描述

在这里插入图片描述

编写SQL查询以查找每种产品的平均售价。
average_price 应该四舍五入到小数点后两位。
units是卖出多少个
在这里插入图片描述

--每个价格的销售总额为 对应时间内的价格∗对应时间内的数量对应时间内的价格 * 对应时间内的数量对应时间内的价格∗对应时间内的数量。
--因为价格和时间在 Prices 表中,数量在 UnitsSold 表中,这两个表通过 product_id 关联
select
p.product_id,
round(sum(u.units * p.price)/sum(u.units),2) as average_price 
from
Prices p inner join UnitsSold u 
on 
p.product_id=u.product_id 
and u.purchase_date between p.start_date and p.end_date
group by p.product_id;-- 先按产品分类

知识点:

  1. inner join……on显式内连接
  2. round(~,小数位数):保留n位小数

三. 1571. 仓库经理

在这里插入图片描述
写一个 SQL 查询来报告, 每个仓库的存货量是多少立方英尺.

返回结果没有顺序要求.
在这里插入图片描述
解释:
Id为1的商品(LC-TV)的存货量为 5x50x40 = 10000
Id为2的商品(LC-KeyChain)的存货量为 5x5x5 = 125
Id为3的商品(LC-Phone)的存货量为 2x10x10 = 200
Id为4的商品(LC-T-Shirt)的存货量为 4x10x20 = 800
仓库LCHouse1: 1个单位的LC-TV + 10个单位的LC-KeyChain + 5个单位的LC-Phone.
总存货量为: 110000 + 10125 + 5200 = 12250 立方英尺
仓库LCHouse2: 2个单位的LC-TV + 2个单位的LC-KeyChain.
总存货量为: 2
10000 + 2125 = 20250 立方英尺
仓库LCHouse3: 1个单位的LC-T-Shirt.
总存货量为: 1
800 = 800 立方英尺.

-- 第一个自己写出来的sql题!
--先分组,再按分组计算体积*数量
select
w.name WAREHOUSE_NAME,
sum(p.Width*p.Length*p.Height*w.units) VOLUME
from
Warehouse w,
Products p
where
w.product_id = p.product_id
group by
WAREHOUSE_NAME;

四.1445. 苹果和桔子

写一个 SQL 查询, 报告每一天 苹果 和 桔子 销售的数目的差异.

返回的结果表, 按照格式为 (‘YYYY-MM-DD’) 的 sale_date 排序.

在这里插入图片描述

select
s.sale_date,  
s.sold_num-a.sold_num diff  
from
Sales s,Sales a
where 
s.sale_date=a.sale_date and 
s.fruit='apples' and a.fruit='oranges'
group by s.sale_date

五.1193. 每月交易 I

在这里插入图片描述

编写一个 sql 查询来查找每个月和每个国家/地区的事务数及其总金额、已批准的事务数及其总金额。

以 任意顺序 返回结果表。
在这里插入图片描述

select
DATE_FORMAT(t.trans_date, '%Y-%m') month ,   
t.country country ,
count(1) trans_count ,
count(if(t.state='approved',1,NULL)) approved_count,
sum(t.amount) trans_total_amount,
sum(if(t.state='approved',amount,0)) approved_total_amount
from
Transactions t
group by 
DATE_FORMAT(t.trans_date, '%Y-%m'),t.country;-- 按照国家,年月分类

知识点:

  1. DATE_FORMAT(t.trans_date, ‘%Y-%m’),数据表中的 trans_date 是精确到日,我们可以使用 DATE_FORMAT() 函数将日期按照年月 %Y-%m 输出。比如将 2019-01-02 转换成 2019-01
  2. if用法:if(t.state=‘approved’,1,NULL),如果(t.state=‘approved’)成立,就返回1,不成立就返回null

六.1633. 各赛事的用户注册率

写一条 SQL 语句,查询各赛事的用户注册百分率,保留两位小数。

返回的结果表按 percentage 的 降序 排序,若相同则按 contest_id 的 升序 排序。
在这里插入图片描述
解释:
所有用户都注册了 208、209 和 210 赛事,因此这些赛事的注册率为 100% ,我们按 contest_id 的降序排序加入结果表中。
Alice 和 Alex 注册了 215 赛事,注册率为 ((2/3) * 100) = 66.67%
Bob 注册了 207 赛事,注册率为 ((1/3) * 100) = 33.33%

select
--先按id分组,round保留两位小数
r.contest_id contest_id,
round(100*count(1)/(select count(1) from users),2) percentage
from
Register r
group by 
r.contest_id
order by 
percentage desc,contest_id asc;

七.1173. 即时食物配送 I

如果顾客期望的配送日期和下单日期相同,则该订单称为 「即时订单」,否则称为「计划订单」。

写一条 SQL 查询语句获取即时订单所占的百分比, 保留两位小数。

查询结果如下所示。在这里插入图片描述

select
round(
    sum(IF(order_date = customer_pref_delivery_date, 1, NULL))
    / COUNT(1)* 100,2) 
    as immediate_percentage 
from
Delivery;

八.1211. 查询结果的质量和占比

“位置”(position)列的值为 1 到 500 。
“评分”(rating)列的值为 1 到 5 。评分小于 3 的查询被定义为质量很差的查询。

将查询结果的质量 quality 定义为:
各查询结果的评分与其位置之间比率的平均值。

将劣质查询百分比 poor_query_percentage 为:
评分小于 3 的查询结果占全部查询结果的百分比。

编写一组 SQL 来查找每次查询的名称(query_name)、质量(quality) 和 劣质查询百分比(poor_query_percentage)。

质量(quality) 和劣质查询百分比(poor_query_percentage) 都应四舍五入到小数点后两位。
在这里插入图片描述

select
q.query_name query_name ,
round(avg(q.rating/q.position),2) quality,
round(sum(if(q.rating<3,1,0))/count(1)*100,2) poor_query_percentage
from
Queries q
group by 
q.query_name;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/361098.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DP(2)--背包DP(0-1 背包,完全背包,多重背包)

滚动数组&#xff1a; 让数组滚动起来&#xff0c;每次都使用固定的几个存储空间&#xff0c;来达到压缩&#xff0c;节省存储空间的作用。 一般用于递推和动态规划中 一维数组 比如&#xff1a;求斐波那契数列第100项 long long arr[3]; arr[0] 1; arr[0] 1; for (int i 2…

Java 集合基础

文章目录一、集合概念二、ArrayList1. 构造方法和添加方法2. 常用方法三、案例演示1. 存储字符串并遍历2. 存储学生对象并遍历3. 键盘录入学生对象并遍历一、集合概念 编程的时候如果要存储多个数据&#xff0c;使用长度固定的数组存储格式&#xff0c;不一定满足我们的需要&a…

Axios二次封装和Api的解耦

目录 一、axios三种基本写法 二、axios的二次封装 三、Api的解耦 一、axios三种基本写法 1&#xff09;get方法&#xff08;是最简单的&#xff09;&#xff1a; 写法二&#xff1a; 2&#xff09;post&#xff1a; 3&#xff09;axios请求配置 默认是get请求&#xff0c;如…

数据分析-深度学习 NLP Day2关键词提取案例

训练一个关键词提取算法需要以下几个步骤&#xff1a;1&#xff09;加载已有的文档数据集&#xff1b;2&#xff09;加载停用词表&#xff1b;3&#xff09;对数据集中的文档进行分词&#xff1b;4&#xff09;根据停用词表&#xff0c;过滤干扰词&#xff1b;5&#xff09;根据…

C语言学习_DAY_5_循环结构while和for语句【C语言学习笔记】

高质量博主&#xff0c;点个关注不迷路&#x1f338;&#x1f338;&#x1f338;&#xff01; 目录 I. 案例引入 II. while语句 III. do while语句 IV. for语句 前言: 书接上回&#xff0c;判断结构已经解决&#xff0c;接下来是另一种很重要的结构&#xff1a;循环结构的实…

深入Spring底层透析后置处理器之豁然开朗篇

目录前言Spring的后置处理器Bean工厂后置处理器Bean后置处理器自定义Component实现注解开发前言 看这篇文章之前&#xff0c;需要了解Bean创建的过程&#xff0c;本篇文章是接着bean创建的基本流程的续写 Bean创建的基本过程&#xff1a;http://t.csdn.cn/1lK2d Spring的后置处…

Python3 命名空间和作用域实例及演示

命名空间 先看看官方文档的一段话&#xff1a; 命名空间(Namespace)是从名称到对象的映射&#xff0c;大部分的命名空间都是通过 Python 字典来实现的。 A namespace is a mapping from names to objects.Most namespaces are currently implemented as Python dictionaries…

凌恩生物经典文章:孟德尔诞辰200周年,Nature Genetics礼献豌豆高质量精细图谱

本期为大家分享的文章是2022年发表在《Nature Genetics》上的一篇文章“Improved pea reference genome and pan-genome highlight genomic features and evolutionary characteristics”&#xff0c;作者通过结合三代pacbio测序、染色体构象捕获&#xff08;Hi-C&#xff09;测…

Meta分析在生态环境领域里的应用

Meta分析&#xff08;Meta Analysis&#xff09;是当今比较流行的综合具有同一主题的多个独立研究的统计学方法&#xff0c;是较高一级逻辑形式上的定量文献综述。20世纪90年代后&#xff0c;Meta分析被引入生态环境领域的研究&#xff0c;并得到高度的重视和长足的发展&#x…

企业什么要建设自有即时通讯软件系统

随着科技的不断发展&#xff0c;各种即时通讯软件也不断发展进步&#xff0c;而这也与企业的发展息息相关&#xff0c;因为每个人&#xff0c;每个企业都有属于自己的机密&#xff0c;属于自己的隐私。 钉钉&#xff0c;企业微信&#xff0c;等公有的即时通讯软件给企业带来便利…

微信社区小程序/h5/圈子论坛贴吧交友/博客/社交/陌生人社交/宠物/话题/私域/同城交友

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 小程序/app/H5多端圈子社区论坛系统,交友/博客/社交/陌生人社交,即时聊天,私域话题,社区论坛圈子,信息引流小程序源码,广场/微校园/微小区/微同城/ 圈子论坛社区系统&#xff0c;含完整…

扬帆优配|3300点半日游!上证指数冲高回落;再迎重磅利好!

今天早盘&#xff0c;A股冲高回落&#xff0c;上证指数3300点得而复失&#xff0c;深证成指也于12000点无功而返。 盘面上&#xff0c;煤炭、钢铁、房地产、才智政务等板块涨幅居前&#xff0c;酿酒、酒店餐饮、日用化工、IT设备等板块跌幅居前。北上资金净流入7.77亿元。 房地…

UML中常见的9种图

UML是Unified Model Language的缩写&#xff0c;中文是统一建模语言&#xff0c;是由一整套图表组成的标准化建模语言。UML用于帮助系统开发人员阐明&#xff0c;展示&#xff0c;构建和记录软件系统的产出。通过使用UML使得在软件开发之前&#xff0c; 对整个软件设计有更好的…

【数据库】Redis数据类型

目录 一&#xff0c; Key操作 1&#xff0c; 相关命令 2&#xff0c; 示例演示 二&#xff0c;字符串 String 1&#xff0c; 结构图 2&#xff0c;相关命令 3&#xff0c;示例演示 三&#xff0c; 列表 List 1&#xff0c; 结构图 2&#xff0c; 相关命令 3&#xf…

VO、DTO、BO、PO、DO区别

VO、DTO、BO、PO、DO区别 VO&#xff1a;&#xff08;View Object&#xff09;视图对象&#xff0c;一般位于Controller层&#xff0c;用于展示视图。DTO&#xff1a;&#xff08;Data Transfer Object&#xff09;数据传输对象&#xff0c; 即RPC 接口请求或传输出去的对象&a…

PMP值得考吗?含金量如何?

关于哪些证书可以考&#xff0c;这里我也不说其他的证书因为术业有专攻&#xff0c;其他证书的含金量估计我也没有更加专业的人士懂&#xff0c;我就推荐一下关于项目管理pmp证书的一些含金量吧&#xff01;对于想备考PMP的朋友或许有一些帮助。 一&#xff0c;PMP证书的价值体…

简易高并发内存池

文章目录从零实现一个高并发的内存池定长内存池定长内存池设计申请内存池用户申请用户归还&#xff08;释放&#xff09;总体代码测试对比&#xff08;malloc&#xff09;高并发内存池框架简介thread cache的设计申请部分释放部分第一层的测试central cache的设计申请部分释放部…

【Kubernetes】【十九】安全认证

第九章 安全认证 本章节主要介绍Kubernetes的安全认证机制。 访问控制概述 ​ Kubernetes作为一个分布式集群的管理工具&#xff0c;保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种客户端进行认证和鉴权操作。 客户端 在Kubernetes集群…

【Kubernetes】【十七】数据存储 基本存储 EmptyDir HostPath NFS

第八章 数据存储 ​ 在前面已经提到&#xff0c;容器的生命周期可能很短&#xff0c;会被频繁地创建和销毁。那么容器在销毁时&#xff0c;保存在容器中的数据也会被清除。这种结果对用户来说&#xff0c;在某些情况下是不乐意看到的。为了持久化保存容器的数据&#xff0c;ku…

2023只会“点点点”,被裁只是时间问题,高薪的自动化测试需要掌握那些技能?

互联网已然是存量市场了&#xff0c;对人员规模的需求正在放缓。在存量市场里&#xff0c;冗余人员和低效人员会被淘汰、被外包。而优秀的人才也会一直受到招聘方的青睐。所以我们就看到了近期行业里冰火两重天的一幕&#xff0c;一边是大量的低端测试工程师被淘汰、求职屡屡碰…