【力扣 | SQL题 | 每日四题】力扣2082, 2084, 2072, 2112, 180
四题都比较简单,可以直接秒。
1. 力扣2082:富有客户的数量
1.1 题目:
表: Store
+-------------+------+ | Column Name | Type | +-------------+------+ | bill_id | int | | customer_id | int | | amount | int | +-------------+------+ bill_id 是这个表的主键(具有唯一值的列)。 每一行包含一个订单的金额及相关客户的信息。
编写解决方案找出 至少有一个 订单的金额 严格大于 500 的客户的数量。
返回结果格式如下示例所示:
示例 1:
输入: Store 表: +---------+-------------+--------+ | bill_id | customer_id | amount | +---------+-------------+--------+ | 6 | 1 | 549 | | 8 | 1 | 834 | | 4 | 2 | 394 | | 11 | 3 | 657 | | 13 | 3 | 257 | +---------+-------------+--------+ 输出: +------------+ | rich_count | +------------+ | 2 | +------------+ 解释: 客户 1 有 2 个订单金额严格大于 500。 客户 2 没有任何订单金额严格大于 500。 客户 3 有 1 个订单金额严格大于 500。
1.2 思路:
75+通过率的简单题。
1.3 题解:
-- 以客户id分组,只要他的最高的一次订单金额是严格大于500的就保留下来即可
with tep as (select customer_idfrom Storegroup by customer_idhaving max(amount) > 500
)select count(*) rich_count
from tep
2. 力扣2084:为订单类型为0的客户删除类型为1的订单
2.1 题目:
活动表: Orders
+-------------+------+ | Column Name | Type | +-------------+------+ | order_id | int | | customer_id | int | | order_type | int | +-------------+------+ order_id是此表的主键列。 此表的每一行都表示订单的ID、订购该订单的客户的ID以及订单类型。 订单可以是类型0或类型1。
编写SQL查询以根据以下条件报告所有订单:
- 如果客户至少有一个类型为0的订单,则不要报告该客户的任何类型为1的订单。
- 否则,报告客户的所有订单。
按任意顺序返回结果表。
查询结果格式如下例所示。
示例 1:
输入: Orders table: +----------+-------------+------------+ | order_id | customer_id | order_type | +----------+-------------+------------+ | 1 | 1 | 0 | | 2 | 1 | 0 | | 11 | 2 | 0 | | 12 | 2 | 1 | | 21 | 3 | 1 | | 22 | 3 | 0 | | 31 | 4 | 1 | | 32 | 4 | 1 | +----------+-------------+------------+ 输出: +----------+-------------+------------+ | order_id | customer_id | order_type | +----------+-------------+------------+ | 31 | 4 | 1 | | 32 | 4 | 1 | | 1 | 1 | 0 | | 2 | 1 | 0 | | 11 | 2 | 0 | | 22 | 3 | 0 | +----------+-------------+------------+ 解释: 客户1有两个类型为0的订单。我们两个都返回。 客户2的订单类型为0,订单类型为1。我们只返回类型为0的订单。 客户3的订单类型为0,订单类型为1。我们只返回类型为0的订单。 客户4有两个类型1的订单。我们两个都返回。
2.2 思路:
分为两种情况。
然后将两种情况查询到的结果union起来。
2.3 题解:
-- 先找到客户的订单类型有0的那些客户
with tep as (select customer_idfrom Ordersgroup by customer_idhaving min(order_type) = 0
)-- 然后找到不在tep表里的客户的其他客户
-- 查询这些客户的所有信息
select *
from Orders
where customer_id not in (select * from tep)union all-- 找到这些客户,并删除该客户类型是1的订单
select order_id, o.customer_id, order_type
from Orders o
join tep
on o.customer_id = tep.customer_id
where order_type = 0
3. 力扣2072:赢得比赛的大学
3.1 题目:
表: NewYork
+-------------+------+ | Column Name | Type | +-------------+------+ | student_id | int | | score | int | +-------------+------+ 在 SQL 中,student_id 是这个表的主键。 每一行包含纽约大学 (New York University) 中一名学生一次考试的成绩。
表: California
+-------------+------+ | Column Name | Type | +-------------+------+ | student_id | int | | score | int | +-------------+------+ 在 SQL 中,student_id 是这个表的主键。 每一行包含加州大学 (California University) 中一名学生一次考试的成绩。
纽约大学和加州大学之间举行了一场比赛。这场比赛由两所大学中相同数量的学生参加。拥有更多优秀学生的大学赢得这场比赛。如果两所大学的优秀学生数量相同,则这场比赛平局。
优秀学生是指在考试中获得 90% 或更高成绩的学生。
返回:
- "New York University" 若纽约大学赢得这场比赛。
- "California University" 若加州大学赢得这场比赛。
- "No Winner" 若这场比赛平局。
返回结果格式如下示例所示:
示例 1:
输入: NewYork 表: +------------+-------+ | student_id | score | +------------+-------+ | 1 | 90 | | 2 | 87 | +------------+-------+ California 表: +------------+-------+ | student_id | score | +------------+-------+ | 2 | 89 | | 3 | 88 | +------------+-------+ 输出: +---------------------+ | winner | +---------------------+ | New York University | +---------------------+ 解释: 纽约大学有 1 名优秀学生,加州大学有 0 名优秀学生。
示例 2:
输入: NewYork 表: +------------+-------+ | student_id | score | +------------+-------+ | 1 | 89 | | 2 | 88 | +------------+-------+ California 表: +------------+-------+ | student_id | score | +------------+-------+ | 2 | 90 | | 3 | 87 | +------------+-------+ 输出: +-----------------------+ | winner | +-----------------------+ | California University | +-----------------------+ 解释: 纽约大学有 0 名优秀学生,加州大学有 1 名优秀学生。
示例 3:
输入: NewYork 表: +------------+-------+ | student_id | score | +------------+-------+ | 1 | 89 | | 2 | 90 | +------------+-------+ California 表: +------------+-------+ | student_id | score | +------------+-------+ | 2 | 87 | | 3 | 99 | +------------+-------+ 输出: +-----------+ | winner | +-----------+ | No Winner | +-----------+ 解释: 纽约大学和加州大学均有 1 名优秀学生。
3.2 思路:
3.3 题解:
SELECT
CASE WHEN (SELECT COUNT(*) FROM NewYork WHERE score >= 90) > (SELECT COUNT(*) FROM California WHERE score >= 90) THEN 'New York University'WHEN (SELECT COUNT(*) FROM NewYork WHERE score >= 90) < (SELECT COUNT(*) FROM California WHERE score >= 90) THEN 'California University'ELSE 'No Winner'
END AS winner;
4. 力扣2112:最繁忙的机场
4.1 题目:
表: Flights
+-------------------+------+ | Column Name | Type | +-------------------+------+ | departure_airport | int | | arrival_airport | int | | flights_count | int | +-------------------+------+ (departure_airport, arrival_airport) 是该表的主键列。 该表的每一行都表示从 departure_airport 出发并到达 arrival_airport 的 flights_count 航班。
编写一个 SQL 来查询 流量最大 的机场的 ID。客流量最大的机场是指从该机场起飞或抵达该机场的航班总数最多的机场。如果有多个机场流量最大,请全部查询出来。
以 任意顺序 返回结果表。
查询结果格式如下所示。
示例 1:
输入: Flights 表: +-------------------+-----------------+---------------+ | departure_airport | arrival_airport | flights_count | +-------------------+-----------------+---------------+ | 1 | 2 | 4 | | 2 | 1 | 5 | | 2 | 4 | 5 | +-------------------+-----------------+---------------+ 输出: +------------+ | airport_id | +------------+ | 2 | +------------+ 解释: 1 号机场有 9 个航班 (4 个出发, 5 个到达). 2 号机场有 14 个航班 (10 个出发, 4 个到达). 4 号机场有 5 个航班 (5 个到达). 客流量最大的机场是 2 号机场。
示例 2:
输入: Flights 表: +-------------------+-----------------+---------------+ | departure_airport | arrival_airport | flights_count | +-------------------+-----------------+---------------+ | 1 | 2 | 4 | | 2 | 1 | 5 | | 3 | 4 | 5 | | 4 | 3 | 4 | | 5 | 6 | 7 | +-------------------+-----------------+---------------+ 输出: +------------+ | airport_id | +------------+ | 1 | | 2 | | 3 | | 4 | +------------+ 解释: 1 号机场有 9 个航班 (4 个出发, 5 个到达). 2 号机场有 9 个航班 (5 个出发, 4 个到达). 3 号机场有 9 个航班 (5 个出发, 4 个到达). 4 号机场有 9 个航班 (5 个出发, 4 个到达). 5 号机场有 7 个航班 (7 个出发). 6 号机场有 7 个航班 (7 个到达). 流量最大的机场是机场 1、2、3 和 4。
4.2 思路:
先炸裂,然后就是简单的分组。
4.3 题解:
-- 炸裂,然后得到需要的表
with tep as (select departure_airport airport, flights_count from Flightsunion all select arrival_airport airport, flights_count from Flights
)-- 然后再查询每个机场的人流量是否是最大的。
select airport airport_id
from tep
group by airport
having sum(flights_count) >= all(-- 这里是查询到每个机场的人流量select sum(flights_count)from tepgroup by airport
)
5. 力扣180:连续出现的数字
5.1 题目:
表:Logs
+-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | num | varchar | +-------------+---------+ 在 SQL 中,id 是该表的主键。 id 是一个自增列。
找出所有至少连续出现三次的数字。
返回的结果表中的数据可以按 任意顺序 排列。
结果格式如下面的例子所示:
示例 1:
输入: Logs 表: +----+-----+ | id | num | +----+-----+ | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 2 | | 5 | 1 | | 6 | 2 | | 7 | 2 | +----+-----+ 输出: Result 表: +-----------------+ | ConsecutiveNums | +-----------------+ | 1 | +-----------------+ 解释:1 是唯一连续出现至少三次的数字。
5.2 思路:
感觉之前写过类似的,遇见就很简单。
三张表join然后where过滤,最后注意distinct去重。
5.3 题解:
-- join三张表自连接
select distinct l1.num ConsecutiveNums
from Logs l1, Logs l2, Logs l3
where
l1.id + 1 = l2.id and l1.num = l2.num
and
l2.id + 1 = l3.id and l2.num = l3.num相关文章:
【力扣 | SQL题 | 每日四题】力扣2082, 2084, 2072, 2112, 180
四题都比较简单,可以直接秒。 1. 力扣2082:富有客户的数量 1.1 题目: 表: Store ------------------- | Column Name | Type | ------------------- | bill_id | int | | customer_id | int | | amount | int | -------------…...
快速了解Java中的15把锁!
目录 了解 总览 乐观锁 悲观锁 互斥锁和同步锁 公平锁 非公平锁 自旋锁 可重入锁(递归锁) ReadWriteLock读写锁 共享锁 独占锁 偏向锁 轻量级锁 重量级锁 锁优化 在 Java 中,锁是一种用于实现多线程之间同步和互斥的机制。 了…...
TypeScript 封装 Axios 1.7.7
随着Axios版本的不同,类型也在改变,以后怎么写类型? yarn add axios1. 封装Axios 将Axios封装成一个类,同时重新封装request方法 重新封装request有几个好处: 所有的请求将从我们定义的requet请求中发送ÿ…...
【数据结构】【链表代码】移除链表元素
移除链表元素 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* removeElements(struct ListNode* head, int val) { // 创建一个虚拟头节点,以处理头节点可能被删除的情况 struct…...
作文-杭州游记
杭州的学习与游历 在这个风景如画的城市——杭州,学习信息学的日子如同西湖的水,清澈而又深邃。在这里,课堂与自然的交融、技术与文化的碰撞,构成了一幅独特的画卷。 学习之旅 信息学的课程不仅仅是对代码和算法的解析࿰…...
降压芯片TPS54821
降压芯片TPS54821 介绍 价格低廉,只需1.5元。是一个同步整流降压BUCK电路。MOS管内置。输入电压为4.5V至17V,输出电压为0.6V到15V,输出电流最大到8A。是QFN封装,焊接时有些许困难。得益于QFN封装,其引线电感非常的小…...
YOLO v1详解解读
🚀 在此之前主要介绍了YOLO v5源码的安装和使用(YOLO v5安装教程),接下来将探索YOLO的实现原理,作为一个金典的单阶段目标检测算法,应该深度的理解它的构建思想;所以本系列文章将从LOVO v1出发到…...
【动态规划-最长公共子序列(LCS)】【hard】【科大讯飞笔试最后一题】力扣115. 不同的子序列
给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 10^9 7 取模。 示例 1: 输入:s “rabbbit”, t “rabbit” 输出:3 解释: 如下所示, 有 3 种可以从 s 中得到 “rabbit”…...
深入理解 JavaScript 中的 void`运算符和 yield*表达式
深入理解 JavaScript 中的 void 运算符和 yield* 表达式 在 JavaScript 中,void 运算符和 yield* 表达式是两个功能独特但常被忽视的运算符。本文将详细介绍它们的用法和应用场景,帮助您更好地理解和运用这两个运算符。 目录 void 运算符概述void 运算…...
第四节——从深层剖析指针(让你不再害怕指针)
文章目录 1. 字符指针变量剑指offer例题 2. 数组指针变量2.1 数组指针变量是什么?2.2 数组指针变量怎么初始化 3. ⼆维数组传参的本质代码实现 4. 函数指针变量4.1 函数指针变量的创建4.3 两段有趣的代码4.3.1 typedef 关键字 5. 函数指针数组的定义 1. 字符指针变量…...
openpnp - 吸嘴校正失败的opencv参数分析
文章目录 openpnp - 吸嘴校正失败的opencv参数分析概述笔记阶段验证 - N2吸嘴校验完NT1NT2 阶段验证 - 底部相机高级校验完NT1NT2 参数比对保存 “阶段验证 - N2吸嘴校验完” 的NT1/NT2图像重建参数检测环境NT1ok的3个参数值NT1err的3个参数值NT2ok的3个参数值NT2err的3个参数值…...
【Python】Marmir 使用指南:Python 驱动的电子表格生成器
Marmir 是一个由 Python 驱动的电子表格生成工具,专门用于将 Python 数据结构(如字典、列表等)转换为电子表格文件(如 Excel)。Marmir 的设计目标是提供比传统电子表格库(如 xlwt)更强大和灵活的…...
深入理解 JavaScript 事件循环机制:单线程中的异步处理核心
深入理解 JavaScript 事件循环机制:单线程中的异步处理核心 JavaScript 是一门单线程的编程语言,也就是说它在同一时间只能执行一个任务。然而,现代 Web 应用经常需要处理大量的异步操作,如用户输入、网络请求、定时器等。为了确…...
Stream流的终结方法(二)——collect
1.Stream流的终结方法 2. collect方法 collect方法用于收集流中的数据放到集合中去,可以将流中的数据放到List,Set,Map集合中 2.1 将流中的数据收集到List集合中 package com.njau.d10_my_stream;import java.util.*; import java.util.f…...
【C语言系统编程】【第一部分:操作系统知识】1.1.操作系统原理
第一部分:操作系统知识 1.1 操作系统原理 1.1.1 进程管理 1.1.1.1 进程的概念与生命周期 进程是程序在计算机中的一次执行实例,包括了程序的代码、数据、以及运行的上下文环境。进程管理是操作系统的核心任务之一。 作用:管理所有执行中…...
基于Java+VUE+echarts大数据智能道路交通信息统计分析管理系统
大数据智能交通管理系统是一种基于Web的系统架构,通过浏览器/服务器(B/S)模式实现对城市交通数据的高效管理和智能化处理。该系统旨在通过集成各类交通数据,包括但不限于车辆信息、行驶记录、违章情况等,来提升城市管理…...
leetcode-42. 接雨水 单调栈
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表…...
ThinkPHP和PHP的区别
文章目录 ThinkPHP和PHP的区别一、引言二、PHP简介1、第一步1.1、示例代码 三、ThinkPHP简介2、第二步2.1、特点2.2、示例代码 四、总结 ThinkPHP和PHP的区别 一、引言 在Web开发领域,PHP是一种广泛使用的开源脚本语言,而ThinkPHP则是一个基于PHP的MVC…...
clientWidth,offsetWidth,scrollHeight
clientWidth: offsetWidth: scrollHeight:...
SVN版本回退
SVN 版本回退三种方法: Update item to this version 假设我们的项目文件一共有8个版本,它版本号分别是1,2,3,4,5,6,7,8。 这个选项的作用是将文件版本更新到对应所选的…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
