当前位置: 首页 > news >正文

力扣-销售分析III

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。

文章目录

  • 前言
  • 一、题目:1084. 销售分析III
  • 二、解题
    • 1.正确示范①
      • 提交SQL
      • 运行结果
    • 2.正确示范②
      • 提交SQL
      • 运行结果
    • 3.正确示范③
      • 提交SQL
      • 运行结果
    • 4.正确示范④
      • 提交SQL
      • 运行结果
    • 5.其他
  • 总结


前言


一、题目:1084. 销售分析III

Table: Product

+--------------+---------+
| Column Name  | Type    |
+--------------+---------+
| product_id   | int     |
| product_name | varchar |
| unit_price   | int     |
+--------------+---------+
Product_id是该表的主键。
该表的每一行显示每个产品的名称和价格。

Table: Sales

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| seller_id   | int     |
| product_id  | int     |
| buyer_id    | int     |
| sale_date   | date    |
| quantity    | int     |
| price       | int     |
+------ ------+---------+
这个表没有主键,它可以有重复的行。
product_id 是 Product 表的外键。
该表的每一行包含关于一个销售的一些信息。

编写一个SQL查询,报告2019年春季才售出的产品。即仅在2019-01-01至2019-03-31(含)之间出售的商品。

以 任意顺序 返回结果表。

查询结果格式如下所示。

输入:
Product table:
+------------+--------------+------------+
| product_id | product_name | unit_price |
+------------+--------------+------------+
| 1          | S8           | 1000       |
| 2          | G4           | 800        |
| 3          | iPhone       | 1400       |
+------------+--------------+------------+
Sales table:
+-----------+------------+----------+------------+----------+-------+
| seller_id | product_id | buyer_id | sale_date  | quantity | price |
+-----------+------------+----------+------------+----------+-------+
| 1         | 1          | 1        | 2019-01-21 | 2        | 2000  |
| 1         | 2          | 2        | 2019-02-17 | 1        | 800   |
| 2         | 2          | 3        | 2019-06-02 | 1        | 800   |
| 3         | 3          | 4        | 2019-05-13 | 2        | 2800  |
+-----------+------------+----------+------------+----------+-------+
输出:
+-------------+--------------+
| product_id  | product_name |
+-------------+--------------+
| 1           | S8           |
+-------------+--------------+

解释:
id为1的产品仅在2019年春季销售。
id为2的产品在2019年春季销售,但也在2019年春季之后销售。
id 3的产品在2019年春季之后销售。
我们只退回产品1,因为它是2019年春季才销售的产品。

二、解题

1.正确示范①

提交SQL

select product_id,product_name from Product 
where product_id in(select product_id from Saleswhere sale_date between '2019-01-01' and '2019-03-31'
)
and product_id not in (select product_id from Saleswhere substr(sale_date,1,7)>='2019-04'or substr(sale_date,1,7)<'2019-01'
);

运行结果

2.正确示范②

提交SQL

select distinct u1.product_id,u1.product_name 
from Product u1 
left join Sales u2 
on u1.product_id=u2.product_id 
and u2.sale_date between '2019-01-01' and '2019-03-31'
left join Sales u3
on u1.product_id=u3.product_id 
and (substr(u3.sale_date,1,7)>='2019-04'
or substr(u3.sale_date,1,7)<'2019-01')
where u2.product_id is not null 
and u3.product_id is null;

运行结果

3.正确示范③

提交SQL

select   u1.product_id,u1.product_name 
from Product u1 
left join Sales u2 
on u1.product_id=u2.product_id 
and u2.sale_date between '2019-01-01' and '2019-03-31'
left join Sales u3
on u1.product_id=u3.product_id 
and (substr(u3.sale_date,1,7)>='2019-04'
or substr(u3.sale_date,1,7)<'2019-01')
group by u1.product_id,u1.product_name 
having count(u2.product_id)>0 and count(u3.product_id)=0;

运行结果

4.正确示范④

提交SQL

select   u1.product_id,u1.product_name 
from Product u1 
left join Sales u2 
on u1.product_id=u2.product_id 
group by u1.product_id,u1.product_name 
having min(u2.sale_date)>='2019-01-01' 
and max(u2.sale_date)<='2019-03-31';

运行结果

5.其他


总结

正确示范①思路:
限定product_id in 2019年春季销售过 and product_id not in 2019年春季之外销售过的product_id;
正确示范②思路:
innot in 转换为 left join 的形式,
在最后限定u2.product_id is not null and u3.product_id is null,在获取结果时加上 distinct 去重;
正确示范③思路:
innot in 转换为 left join 的形式,
group by u1.product_id,u1.product_name 分组并去重,再通过
having count(u2.product_id)>0 and count(u3.product_id)=0筛选;
正确示范④思路:
group by u1.product_id,u1.product_name 分组并去重,通过having min(u2.sale_date)>=‘2019-01-01’
and max(u2.sale_date)<=‘2019-03-31’ 筛选;

相关文章:

力扣-销售分析III

大家好&#xff0c;我是空空star&#xff0c;本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目&#xff1a;1084. 销售分析III二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总结…...

U-Boot 之七 详解 Driver Model 架构、配置、命令、初始化流程

U-Boot 在 2014 年 4 月参考 Linux Kernel 的驱动模型设计并引入了自己的 Driver Model&#xff08;官方简称 DM&#xff09; 驱动架构。这个驱动模型&#xff08;DM&#xff09;为驱动的定义和访问接口提供了统一的方法&#xff0c;提高了驱动之间的兼容性以及访问的标准性。 …...

大数据算法重点

1 大数据亚线性空间算法 场景&#xff1a;用二进制存储一个数字N&#xff0c;需要log(N)的空间 问题&#xff1a;如果N特别大而且这样的N又特别的多&#xff0c;该怎么办呢&#xff1f; 思路&#xff1a;减少一些准确性&#xff0c;从而节省更多的空间。 解决办法&#xff1a;使…...

【Eclipse】The import xxxx cannot be resolved 问题解决

在Eclipse使用过程中&#xff0c;某一个类明明存在&#xff0c;但是使用import导入时&#xff0c;却总是提示The import xxxx cannot be resolved的错误&#xff0c;解决办法如下&#xff1a; 点击Project->Clean......

LinkWeChat系统Docker版部署注意事项

具体部署手册&#xff1a;https://www.yuque.com/linkwechat/help/ffi7bu注意事项&#xff1a;启动类配置文件路径需要修改&#xff0c;各个模块启动类原配置如下&#xff1a;.properties("spring.config.name:bootstrap", "config/run/bootstrap.yml")各个…...

【高数】不定积分之有理函数的积分

文章目录前言有理函数积分的通用解法有理函数的特殊解法前言 这个专栏开始更新高等数学的解题方法&#xff0c;本专栏没有特别强调概念&#xff0c;主要是让大家熟悉考研中的一些题型以及如何求解 关键步骤用蓝色高亮提示 总结方法用红色高亮提示 注意事项用绿色高亮提示 希望…...

Java——数组

目录 前言 一、数组的定义 二、数组声明和创建 三、三种初始化及内存分析 Java内存分析 三种初始化 静态初始化 动态初始化 数组的默认初始化 数组的四个基本特点 四、下标越界及小结 五、数组的使用 For-Each循环 数组作方法入参 数组作返回值 六、二维数组 七…...

产品分析|虎扑APP

不同于传统的体育新闻门户网站,虎扑以篮球社区起家,在经历了从体育论坛到体育新闻网站的发展后,又逐渐回归社区发展。 目前,虎扑汇聚了大量的男性用户,俨然成为了“互联网直男的自留地”。特立独行的发展方向使得虎扑不断发展壮大,同时也使得虎扑逐渐触碰到了行业天花板。…...

有限差分法-二维泊松方程及其Matlab程序实现

2.2 偏微分方程的差分解法 2.2.1 二维泊松方程 考虑区域 Ω \Omega Ω 上的二维泊松问题: { − ( ∂ 2...

【设计模式】6.代理模式

概述 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理访问目标对象 这样做的好处是&#xff1a;可以在目标对象实现的基础上,增强额外的功能操作&#xff0c;即扩展目标对象的功能。 被代理的对象可以是&#xff1a;远程对象、创建开销大的对象或需要安全…...

SRC挖掘之Access验证校验的漏洞挖掘

漏洞已修复&#xff0c;感谢某大佬的知识分享。 任意用户密码重置->可获取全校师生个人mingan信息 开局就是信息收集。 对于挖掘edu的信息收集 1.可尝试谷歌搜索语法&#xff0c;获取学号信息 2. 旁站的渗透获取 3. 学校的贴吧获取(大部分都是本校学生) 当然我就是闲&a…...

GG-21 100V 5A逆功率继电器

1 用途 GG-21逆功率继电器在出现逆功率时&#xff0c;从电网中断开交流发电机。 2 概述 逆功率继电器是基于感应式原理(具有旋转磁场)而工作。 继电器导磁体由两个磁路系统组成&#xff1a;上磁路系统和下磁路系统。电流线圈安装在上磁路系统中&#xff0c;它由接在发电机某相的…...

MyBatis中#{}和${}的区别

目录 前言 1、处理参数的方式不同 2、${}的优点 3、SQL注入问题 4、like查询问题 前言 #{}和${}都可以在MyBatis中用来动态地接收参数&#xff0c;但二者在本质上还是有很大的区别。 1、处理参数的方式不同 ${} &#xff1a;预编译处理 MyBatis在处理#{}时&#xff0c…...

ElementUi的使用

ElementUi使用说明 element ui安装与配置 npm i element-ui –S项目入口文件main.js 导入 Element-UI 相关资源// 导入组件库 import ElementUI from element-ui; // 导入组件相关样式 import element-ui/lib/theme-chalk/index.css; // 配置 Vue 插件 Vue.use(ElementUI);文档…...

termux手机端安装mysql(MariaDB)

目录1 下载MariaDB2 配置MariaDB3 启动MariaDB服务器查看进程pid杀死进程4 登录 Mysqltermux用户登录MySQLroot用户登录MySQL5 配置 MariaDB 远程登录创建一个可远程登录的用户&#xff1a;用户授权&#xff1a;刷新授权&#xff1a;6 停止 MariaDB 服务器7 可选&#xff0c;但…...

Python枚举类定义和使用(详解版)

一些具有特殊含义的类&#xff0c;其实例化对象的个数往往是固定的&#xff0c;比如用一个类表示月份&#xff0c;则该类的实例对象最多有 12 个&#xff1b;再比如用一个类表示季节&#xff0c;则该类的实例化对象最多有 4 个。 针对这种特殊的类&#xff0c;Python 3.4 中新…...

京东HBase异地多活调研

京东HBase平台架构 HBase Replication原理 HBase的Replication是基于WAL日志文件的&#xff0c;在主集群中的每个RegionServer上&#xff0c;由ReplicationSource线程来负责推送数据&#xff0c;在备集群的RegionServer上由ReplicationSink线程负责接收数据。ReplicationSourc…...

【LeetCode】剑指 Offer 18. 删除链表的节点(题目一) p119 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/shan-chu-lian-biao-de-jie-dian-lcof/ 1. 题目介绍&#xff08;18. 删除链表的节点&#xff09; 给定单向链表的头指针和一个要删除的节点的值&#xff0c;定义一个函数删除该节点。 返回删除后的链表的头节点。 注意&…...

SpringMVC异步请求

背景 Tomcat等应用服务器的连接线程池实际上是有限制的&#xff1b;每一个连接请求都会耗掉线程池的一个连接数&#xff1b;如果某些耗时很长的操作&#xff0c;如对大量数据的查询操作、调用外部系统提供的服务以及一些 IO 密集型操作等&#xff0c;会占用连接很长时间&#…...

这七个100%提高Python代码性能的技巧,一定要知道

B站|公众号&#xff1a;啥都会一点的研究生 相关阅读 整理了几个100%会踩的Python细节坑&#xff0c;提前防止脑血栓 整理了十个100%提高效率的Python编程技巧&#xff0c;更上一层楼 Python-列表&#xff0c;从基础到进阶用法大总结&#xff0c;进来查漏补缺 Python-元组&…...

Torch-Pruning高效剪枝实战:解决BERT模型部署中的计算资源瓶颈问题

Torch-Pruning高效剪枝实战&#xff1a;解决BERT模型部署中的计算资源瓶颈问题 【免费下载链接】Torch-Pruning [CVPR 2023] Towards Any Structural Pruning; LLMs / Diffusion / Transformers / YOLOv8 / CNNs 项目地址: https://gitcode.com/gh_mirrors/to/Torch-Pruning …...

SSCOM串口助手5个隐藏技巧:多窗口同步调试效率翻倍(附配置截图)

SSCOM串口助手5个隐藏技巧&#xff1a;多窗口同步调试效率翻倍&#xff08;附配置截图&#xff09; 在嵌入式开发和硬件调试领域&#xff0c;串口通信工具的效率直接影响着工程师的工作节奏。SSCOM作为一款广受欢迎的串口调试助手&#xff0c;其简洁界面背后隐藏着许多能显著提…...

原神帧率解锁革新:突破60帧限制的全方位解决方案

原神帧率解锁革新&#xff1a;突破60帧限制的全方位解决方案 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 在高刷新率显示器普及的今天&#xff0c;《原神》默认的60帧限制成为制约游戏…...

用树莓派Zero 2W和Qt5打造你的第一个工业控制面板(附完整源码)

用树莓派Zero 2W和Qt5打造工业级控制面板实战指南 在嵌入式开发领域&#xff0c;树莓派Zero 2W以其紧凑的尺寸和出色的能效比&#xff0c;正成为工业控制应用的理想选择。这款信用卡大小的计算机搭载四核64位处理器和512MB内存&#xff0c;足以运行复杂的Qt图形界面&#xff0c…...

Retinaface+CurricularFace在网络安全领域的创新应用

RetinafaceCurricularFace在网络安全领域的创新应用 1. 引言 想象一下这样的场景&#xff1a;一家金融机构的服务器机房&#xff0c;只有授权人员才能进入&#xff1b;一个远程办公系统&#xff0c;确保登录者确实是员工本人&#xff1b;一个高安全性的数据平台&#xff0c;每…...

如何在Ozon产品测款?用CaptainAI精准锁定爆款潜力款

做Ozon运营&#xff0c;测款是店铺长期盈利的关键——选对款能事半功倍&#xff0c;测错款则会积压库存、浪费成本&#xff0c;中小卖家资金精力有限&#xff0c;盲目铺货测款易陷入“高投入、低回报”困境。很多卖家测款常踩坑&#xff1a;凭感觉跟风选热门款&#xff0c;竞争…...

告别COLMAP预处理:3D高斯溅射的零配置新体验

告别COLMAP预处理&#xff1a;3D高斯溅射的零配置新体验 【免费下载链接】CF-3DGS 项目地址: https://gitcode.com/gh_mirrors/cf/CF-3DGS 想象一下&#xff0c;你刚刚拍摄了一组精美的场景照片&#xff0c;想要快速生成3D模型&#xff0c;却发现需要先运行复杂的COLMA…...

3大颠覆:Umi-OCR如何重新定义离线文字识别体验?

3大颠覆&#xff1a;Umi-OCR如何重新定义离线文字识别体验&#xff1f; 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件&#xff0c;适用于Windows系统&#xff0c;支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com…...

LeetCode 98. Validate Binary Search Tree 题解

LeetCode 98. Validate Binary Search Tree 题解 题目描述 给你一个二叉树的根节点 root&#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子…...

避开这些坑!海康威视嵌入式HR面常见‘送命题’与应答策略(附真实案例)

海康威视嵌入式HR面试避坑指南&#xff1a;6类高频"送命题"拆解与实战话术 在技术岗位的招聘流程中&#xff0c;HR面试往往是最容易被轻视却暗藏最多陷阱的环节。许多嵌入式开发者在技术面表现出色&#xff0c;却在看似轻松的HR面中意外折戟。通过对海康威视近三年嵌…...