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

【力扣 | 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

四题都比较简单&#xff0c;可以直接秒。 1. 力扣2082&#xff1a;富有客户的数量 1.1 题目: 表&#xff1a; Store ------------------- | Column Name | Type | ------------------- | bill_id | int | | customer_id | int | | amount | int | -------------…...

快速了解Java中的15把锁!

目录 了解 总览 乐观锁 悲观锁 互斥锁和同步锁 公平锁 非公平锁 自旋锁 可重入锁&#xff08;递归锁&#xff09; ReadWriteLock读写锁 共享锁 独占锁 偏向锁 轻量级锁 重量级锁 锁优化 在 Java 中&#xff0c;锁是一种用于实现多线程之间同步和互斥的机制。 了…...

TypeScript 封装 Axios 1.7.7

随着Axios版本的不同&#xff0c;类型也在改变&#xff0c;以后怎么写类型&#xff1f; yarn add axios1. 封装Axios 将Axios封装成一个类&#xff0c;同时重新封装request方法 重新封装request有几个好处&#xff1a; 所有的请求将从我们定义的requet请求中发送&#xff…...

【数据结构】【链表代码】移除链表元素

移除链表元素 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* removeElements(struct ListNode* head, int val) { // 创建一个虚拟头节点&#xff0c;以处理头节点可能被删除的情况 struct…...

作文-杭州游记

杭州的学习与游历 在这个风景如画的城市——杭州&#xff0c;学习信息学的日子如同西湖的水&#xff0c;清澈而又深邃。在这里&#xff0c;课堂与自然的交融、技术与文化的碰撞&#xff0c;构成了一幅独特的画卷。 学习之旅 信息学的课程不仅仅是对代码和算法的解析&#xff0…...

降压芯片TPS54821

降压芯片TPS54821 介绍 价格低廉&#xff0c;只需1.5元。是一个同步整流降压BUCK电路。MOS管内置。输入电压为4.5V至17V&#xff0c;输出电压为0.6V到15V&#xff0c;输出电流最大到8A。是QFN封装&#xff0c;焊接时有些许困难。得益于QFN封装&#xff0c;其引线电感非常的小…...

YOLO v1详解解读

&#x1f680; 在此之前主要介绍了YOLO v5源码的安装和使用&#xff08;YOLO v5安装教程&#xff09;&#xff0c;接下来将探索YOLO的实现原理&#xff0c;作为一个金典的单阶段目标检测算法&#xff0c;应该深度的理解它的构建思想&#xff1b;所以本系列文章将从LOVO v1出发到…...

【动态规划-最长公共子序列(LCS)】【hard】【科大讯飞笔试最后一题】力扣115. 不同的子序列

给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数&#xff0c;结果需要对 10^9 7 取模。 示例 1&#xff1a; 输入&#xff1a;s “rabbbit”, t “rabbit” 输出&#xff1a;3 解释&#xff1a; 如下所示, 有 3 种可以从 s 中得到 “rabbit”…...

深入理解 JavaScript 中的 void`运算符和 yield*表达式

深入理解 JavaScript 中的 void 运算符和 yield* 表达式 在 JavaScript 中&#xff0c;void 运算符和 yield* 表达式是两个功能独特但常被忽视的运算符。本文将详细介绍它们的用法和应用场景&#xff0c;帮助您更好地理解和运用这两个运算符。 目录 void 运算符概述void 运算…...

第四节——从深层剖析指针(让你不再害怕指针)

文章目录 1. 字符指针变量剑指offer例题 2. 数组指针变量2.1 数组指针变量是什么&#xff1f;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 驱动的电子表格生成工具&#xff0c;专门用于将 Python 数据结构&#xff08;如字典、列表等&#xff09;转换为电子表格文件&#xff08;如 Excel&#xff09;。Marmir 的设计目标是提供比传统电子表格库&#xff08;如 xlwt&#xff09;更强大和灵活的…...

深入理解 JavaScript 事件循环机制:单线程中的异步处理核心

深入理解 JavaScript 事件循环机制&#xff1a;单线程中的异步处理核心 JavaScript 是一门单线程的编程语言&#xff0c;也就是说它在同一时间只能执行一个任务。然而&#xff0c;现代 Web 应用经常需要处理大量的异步操作&#xff0c;如用户输入、网络请求、定时器等。为了确…...

Stream流的终结方法(二)——collect

1.Stream流的终结方法 2. collect方法 collect方法用于收集流中的数据放到集合中去&#xff0c;可以将流中的数据放到List&#xff0c;Set&#xff0c;Map集合中 2.1 将流中的数据收集到List集合中 package com.njau.d10_my_stream;import java.util.*; import java.util.f…...

【C语言系统编程】【第一部分:操作系统知识】1.1.操作系统原理

第一部分&#xff1a;操作系统知识 1.1 操作系统原理 1.1.1 进程管理 1.1.1.1 进程的概念与生命周期 进程是程序在计算机中的一次执行实例&#xff0c;包括了程序的代码、数据、以及运行的上下文环境。进程管理是操作系统的核心任务之一。 作用&#xff1a;管理所有执行中…...

基于Java+VUE+echarts大数据智能道路交通信息统计分析管理系统

大数据智能交通管理系统是一种基于Web的系统架构&#xff0c;通过浏览器/服务器&#xff08;B/S&#xff09;模式实现对城市交通数据的高效管理和智能化处理。该系统旨在通过集成各类交通数据&#xff0c;包括但不限于车辆信息、行驶记录、违章情况等&#xff0c;来提升城市管理…...

leetcode-42. 接雨水 单调栈

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [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开发领域&#xff0c;PHP是一种广泛使用的开源脚本语言&#xff0c;而ThinkPHP则是一个基于PHP的MVC…...

clientWidth,offsetWidth,scrollHeight

clientWidth: offsetWidth&#xff1a; scrollHeight&#xff1a;...

SVN版本回退

SVN 版本回退三种方法&#xff1a; Update item to this version 假设我们的项目文件一共有8个版本&#xff0c;它版本号分别是1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#xff0c;8。 这个选项的作用是将文件版本更新到对应所选的…...

Taotoken Token Plan套餐为高频用户带来的长期成本优势感知

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken Token Plan套餐为高频用户带来的长期成本优势感知 对于高频使用大模型API的开发者或团队而言&#xff0c;项目开发中的模…...

APK Installer终极指南:Windows平台Android应用部署完全手册

APK Installer终极指南&#xff1a;Windows平台Android应用部署完全手册 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在跨平台应用生态日益融合的今天&#xff0c;开…...

米尔MA35D1核心板512MB DDR升级:工业边缘计算性能跃迁与开发实战

1. 项目概述&#xff1a;MA35D1核心板512M DDR配置的发布意味着什么&#xff1f;最近&#xff0c;米尔电子发布了其基于新唐MA35D1处理器的核心板新配置——512MB DDR。这个消息在工业控制和边缘计算圈子里引起了不少讨论。对于很多正在评估或已经使用MA35D1方案的朋友来说&…...

大语言模型实战:从Transformer到QLoRA微调与RAG应用

1. 项目概述&#xff1a;为什么我们需要一门关于大语言模型的课程&#xff1f;如果你在过去一年里关注过技术圈&#xff0c;那么“大语言模型”这个词一定已经听得耳朵起茧了。从ChatGPT的横空出世&#xff0c;到各类开源模型的百花齐放&#xff0c;再到企业级应用的遍地开花&a…...

云原生环境中的混沌工程实践指南

云原生环境中的混沌工程实践指南 引言 混沌工程是一种主动验证系统可靠性的方法&#xff0c;通过在生产环境中注入故障来发现潜在的系统弱点。本文将深入探讨如何在云原生环境中实施混沌工程。 一、混沌工程概述 1.1 核心概念 ┌───────────────────────…...

Linux挖矿木马Linux.BtcMine.174技术剖析与防御实战

1. 新型Linux挖矿木马深度剖析&#xff1a;从Linux.BtcMine.174看现代恶意软件的演进最近安全圈里一个来自俄罗斯Dr.Web公司的分析报告引起了我的注意&#xff0c;他们披露了一个代号为Linux.BtcMine.174的新型木马。这玩意儿可不是什么小打小闹的脚本小子作品&#xff0c;而是…...

Space Thumbnails:Windows资源管理器的终极3D模型预览解决方案

Space Thumbnails&#xff1a;Windows资源管理器的终极3D模型预览解决方案 【免费下载链接】space-thumbnails Generates preview thumbnails for 3D model files. Provide a Windows Explorer extensions that adds preview thumbnails for 3D model files. 项目地址: https…...

递归的终极形态:彻底搞懂尾递归优化 (TCO)

&#x1f504; 递归的终极形态&#xff1a;彻底搞懂尾递归优化 (TCO) &#x1f914; 为什么普通递归会“爆栈”&#xff1f; 在理解尾递归之前&#xff0c;先看看普通递归发生了什么。 通俗比喻&#xff1a; 想象你在玩一个“传话游戏”&#xff0c;需要计算 1 2 3 ... n…...

Deepin Boot Maker终极指南:3分钟制作完美启动盘的免费神器

Deepin Boot Maker终极指南&#xff1a;3分钟制作完美启动盘的免费神器 【免费下载链接】deepin-boot-maker 项目地址: https://gitcode.com/gh_mirrors/de/deepin-boot-maker 你是否曾经为了制作系统启动盘而烦恼&#xff1f;面对复杂的命令行工具&#xff0c;担心误操…...

汇顶科技入围GSA奖项:中国芯片设计公司的战略聚焦与成长路径分析

1. 项目概述&#xff1a;一次里程碑式的行业认可最近在半导体圈子里&#xff0c;一个消息引起了不小的波澜&#xff1a;汇顶科技成功入围了全球半导体联盟&#xff08;GSA&#xff09;2019年度的两大奖项提名。对于不熟悉这个领域的朋友来说&#xff0c;这或许只是一个普通的公…...