【力扣-10天SQL入门】5~8天刷题 知识点总结

news2025/1/24 0:55:46

https://leetcode.cn/study-plan/sql/?progress=jgmzq5s


第5天 合并

175. 组合两个表

就是一个简单的left join

1581. 进店却未进行过交易的顾客

Q:两个表Visits(有visit_id和customer_id两列)和Transactions(有transaction_id、visit_id和amount三列)。返回只光顾、没交易的顾客的customer_id,以及只光顾不交易的次数count_no_trans

select customer_id,
count(customer_id) as count_no_trans
from Visits
where visit_id not in(
    select visit_id from Transactions
)
group by customer_id

分析过程:

select customer_id,   # 结果是30 96 54 54
count(customer_id) as count_no_trans   # 结果是1 1 2
from Visits
where visit_id not in(    # 结果是4 6 7 8
    select visit_id from Transactions
)
group by customer_id

1148. 文章浏览I

查找所有浏览过自己文章的作者,其实就是 author_id = viewer_id 就行了

这题要注意的是,此表无主键,因此可能会存在重复行,所以要加一个distinct


第6天 合并

197. 上升的温度

Q:表Weather有三列,id、recordDate和temperature。查询与昨天的日期相比,温度更高的所有日期的id

select a.id from Weather a, Weather b 
where a.temperature > b.temperature
and datediff(a.recordDate, b.recordDate) = 1

datediff() 返回两个日期的天数

[Mysql] DATEDIFF函数
datediff(date1, date2)   # 返回date1-date2的结果

date1和date2两个参数需要是有效的日期或日期时间值。如果参数传递的是日期时间值,仅将日期部分用于计算,并忽略时间部分(只有值的日期部分参与计算)

607. 销售员

Q:三个表,查询没有任何与名为“RED”的公司相关订单的所有销售人员的姓名

  • SalesPerson表:sales_id、name、salary、commission_rate、hire_date【销售人员id、姓名、工资、佣金率、雇佣日期】

  • Company表:com_id、name、city【公司id、名称、所在城市】

  • Orders表:order_id、order_date、com_id、sales_id、amount【订单id、日期、公司id、销售人员id、支付金额】

三个表的嵌套查询

select name from SalesPerson
where sales_id not in (
    select sales_id from Orders
    where com_id = (
        select com_id from Company
        where name = 'RED'
    )
)

第7天 计算函数

1141. 查询近30天活跃用户数

Q:表Activity是用户在社交网站的活动记录。无主键,可能包含重复数据

  • user_id

  • session_id:每个session_id只属于一个用户【一个用户一天可能对应多个session_id】

  • activity_date

  • activity_type:enum类型,为以下四种值 ('open_session', 'end_session', 'scroll_down', 'send_message')

查询出截至2019-07-27(含),近30天的每日活跃用户数(当天只要有一条活动记录,即为活跃用户)

select activity_date as day,
count(distinct user_id) as active_users
from Activity 
where datediff('2019-07-27', activity_date)<30 and datediff('2019-07-27', activity_date)>=0
group by activity_date

注意“截至date1(包含date1这天)近30天”的写法:

datediff(date1, 日期列) between 0 and 29

1693. 每天的领导和合伙人

重点在于知道group by后面可以加多个字段就行

1729. 求关注者的数量


第8天 计算函数

586. 订单最多的客户

这里注意,求出每个客户的订单数后,可以把订单数降序排序,再limit 1即是订单数最多的那个

511. 游戏玩法分析I

查询每位玩家第一次登录平台的日期,对日期取min() 即可

1890. 2020年最后一次登录

跟上题相反,最后一次登录,对日期取max() 即可

1741. 查询每个员工花费的总时间

这里注意,在一天之内,同一员工是可以多次进入和离开办公室的,所以需要sum() 求总时间,同时group by的时候,需要对event_day(同一天)和emp_id(同一员工)都处理

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

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

相关文章

Go垃圾回收原理

术语介绍 赋值器:说白了就是你写的程序代码&#xff0c;在程序的执行过程中&#xff0c;可能会改变对象的引用关系&#xff0c;或者创建新的引用。 回收器:垃圾回收器的责任就是去干掉那些程序中不再被引用得对象。 STW:全称是stop the word&#xff0c;GC期间某个阶段会停止…

插值多项式的龙格现象的介绍与模拟

在文章拉格朗日插值多项式的原理介绍及其应用中&#xff0c;笔者介绍了如何使用拉格朗日插值多项式来拟合任意数据点集。   事实上&#xff0c;插值多项式会更倾向于某些形状。德国数学家卡尔龙格Carl Runge发现&#xff0c;插值多项式在差值区间的端点附近会发生扭动&#x…

一篇文章彻底理解setState是同步还是异步!

本文内容均针对于18.x以下版本setState 到底是同步还是异步&#xff1f;很多人可能都有这种经历&#xff0c;面试的时候面试官给了你一段代码&#xff0c;让你说出输出的内容&#xff0c;比如这样&#xff1a;constructor(props) {super(props);this.state {data: data} }comp…

Sentinel架构篇 - 来源访问控制

来源访问控制&#xff08;黑白名单&#xff09; 概念 Sentinel 提供了黑白名单限制资源能否通过的功能。如果配置了白名单&#xff0c;则只有位于白名单的请求来源的对应的请求才能通过&#xff1b;如果配置了黑名单&#xff0c;则位于黑名单的请求来源对应的请求不能通过。 …

图形报表ECharts

图形报表ECharts1 图形报表ECharts1.1 ECharts简介-富客户端图表库ECharts缩写来自Enterprise Charts&#xff0c;商业级数据图表&#xff0c;是百度的一个开源的使用JavaScript实现的数据可视化工具&#xff0c;可以流畅的运行在PC和移动设备上&#xff0c;兼容当前绝大部分浏…

【3.8】操作系统内存管理、Redis数据结构、哈希表

内存满了&#xff0c;会发生什么&#xff1f; 当应用程序读写了这块虚拟内存&#xff0c;CPU 就会去访问这个虚拟内存&#xff0c; 这时会发现这个虚拟内存没有映射到物理内存&#xff0c; CPU 就会产生缺页中断&#xff0c;进程会从用户态切换到内核态&#xff0c;并将缺页中…

MySQL索引15连问,抗住!

1. 索引是什么&#xff1f;索引是一种能提高数据库查询效率的数据结构。它可以比作一本字典的目录&#xff0c;可以帮你快速找到对应的记录。索引一般存储在磁盘的文件中&#xff0c;它是占用物理空间的。正所谓水能载舟&#xff0c;也能覆舟。适当的索引能提高查询效率&#x…

实战小项目之视频监控(1-2)

实战小项目之视频监控&#xff08;1-2&#xff09; Nginx 移植 前面也给大家提到了&#xff0c;我们可以使用 Nginx 来搭建 RTMP 流媒体服务器&#xff0c;譬如你可以在一台公网 IP 主 机上搭建流媒体服务器&#xff0c;当然&#xff0c;笔者并没有这个条件&#xff1b;这里我…

2023年计算语言学和自然语言处理国际会议(CLNLP 2023)

2023年计算语言学和自然语言处理国际会议&#xff08;CLNLP 2023&#xff09; 重要信息 会议网址&#xff1a;www.clnlp.org 会议时间&#xff1a;2023年8月18-20日 召开地点&#xff1a;中国南京 截稿时间&#xff1a;2023年6月31日 录用通知&#xff1a;投稿后2周内 收…

MATLAB绘制三Y轴坐标图:补充坐标轴及字体设置

三轴坐标图 1 函数 MATLAB绘制三轴图函数可见MATLAB帮助-multiplotyyy 基础图形绘制是很简单&#xff0c;但坐标轴及字体设置该如何实现呢&#xff1f; 本文以以下几个例子为例&#xff0c;希望可以解决在利用MATLAB绘制三轴坐标图时常见的疑惑。 2 案例 2.1 案例1&#xf…

大数据框架之Hive:第6章 查询

第6章 查询 6.1 基础语法 1&#xff09;官网地址 https://cwiki.apache.org/confluence/display/Hive/LanguageManualSelect 2&#xff09;查询语句语法&#xff1a; SELECT [ALL | DISTINCT] select_expr, select_expr, ...FROM table_reference -- 从什么表查[WHE…

Java的概述和运行方式

目录 一.Java是什么&#xff1f; 1.1Java的目前状况和学习需求 1.2Java的平台分类和特点 二.Java程序的运行方式 2.1 Java的程序结构 2.2 JDK、JRE、JVM的关系 2.3 Java运行详情 总结 &#x1f63d;个人主页&#xff1a;tq02的博客_CSDN博客-领域博主 &#x1f308;理想…

R语言ggplot2 | 用百分比格式表示数值

&#x1f4cb;文章目录Percent() 函数介绍例子1&#xff0c;在向量中格式化百分比&#xff1a;例子2&#xff0c;格式化数据框列中的百分比&#xff1a;例子3&#xff0c;格式化多个数据框列中的百分比&#xff1a;如何使用percent()函数在绘图过程展示通常在绘图时&#xff0c…

Linux 学习笔记

一、 概述 1. 操作系统 ① 计算机由硬件和软件组成 ② 操作系统属于软件范畴&#xff0c;主要作用是协助用户调度硬件工作&#xff0c;充当用户和计算机硬件之间的桥梁 ③ 常见的操作系统 &#x1f920; PC端&#xff1a;Windows、Linux、MacOS&#x1f920; 移动端&#…

Android中级——屏幕和绘图

屏幕和绘图屏幕系统屏幕密度独立像素密度dp单位转换XML绘图&#xff08;需放在Drawable&#xff09;BitmapShapeLayerSelector绘图技巧CanvasLayerPorterDuffXfermodeShaderPathEffectSurfaceView屏幕 屏幕大小&#xff1a;指屏幕对角线长度&#xff0c;单位为寸分辨率&#x…

管理类书籍推荐

管理类书籍对于每一位想要获得管理能力提升或者实现职业生涯更上一层楼的企业管理者或领导者而言&#xff0c;都是不可或缺的一项重要学习工具。作为管理工作从事者的职场必需品&#xff0c;一本出色的管理类书籍可以为我们提供大量宝贵的经验与专业建议&#xff0c;从而让管理…

ChatGPT助力校招----面试问题分享(二)

1 ChatGPT每日一题&#xff1a;DC-DC与LDO的区别 问题&#xff1a;介绍一下DC-DC与LDO的区别 ChatGPT&#xff1a;DC-DC和LDO都是电源管理电路&#xff0c;它们的主要作用是将输入电压转换为所需的输出电压&#xff0c;以供电子设备使用。但是&#xff0c;它们之间存在一些重…

GlassFish的安装与使用

一、产品下载与安装glassfish下载地址&#xff1a;https://download.oracle.com/glassfish/5.0.1/release/index.html下载后解压即完成安装&#xff0c;主要目录说明&#xff1a;bin目录&#xff1a;为asadmin命令所在目录。glassfish为主目录&#xff1a;glassfish\bin目录为命…

C++基础了解-13-C++ 数组

C 数组 一、C 数组 C 支持数组数据结构&#xff0c;它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据&#xff0c;但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量&#xff0c;比如 number0、number1、…、number9…

Android特别的数据结构(一) SparseArray源码解析

1.数据结构 class SparseArray<E> implements Cloneable 由两个数组构成&#xff0c;一个数组mKeys类型为int[]&#xff0c;存放Key&#xff0c;一个数组mValues类型为 E[]&#xff0c;存放Value。Key数组升序排列。默认初始容量&#xff1a;10扩容&#xff1a; 如果当…