【算法】MySQL算法

devtools/2025/3/1 21:50:05/

第二高薪水

本题求Employee表中的第二高的不同薪水,也就是说如果Employee表是:

则第二高的薪水是2000。

题目要求输出的格式是:

对应的sql语句:

该语句的执行顺序:

1.从Eomployee表中选取所有行。

2.对salary列进行去重。

3.按照salary列的值进行降序排序。

4.从取第一行下面的一行记录。

由于子查询到的salary可能是空的,因此需要用到ifnull函数来处理结果为空的情况

ifnull(参数1,参数2)如果参数1不为空则返回参数1的值,否则返回参数2的值。

这里有一个细节点:就是我们要注意题目让我们输出的格式(列名格式),先看下面的sql语句。

SELECT FIND_IN_SET('d','a,b,c,d') as `index`;

find_in_set函数返回的值是4如果不使用as对列名重命名则结果是:

 因此我们要使用as对列名进行重命名。

 

部门工资前三高的所有员工

  

selectd.name 'Department', e1.name 'Employee',e1.salary
fromemployee e1 join department d on e1.DepartmentId = d.id
where3 > (selectcount(distinct e2.salary)fromEmployee e2wheree2.salary > e1.salaryand e2.DepartmentId = e1.DepartmentId)
;

 执行的顺序是:

1.employee表和department表按照条件进行内连接。

2.进行子查询,从e1表中第一行开始,e1中的每一条记录都要和e2的所有记录比较,通过聚合函数筛选出e2表中有三条以下比e1大,则该e1满足条件。


http://www.ppmy.cn/devtools/163739.html

相关文章

Centos7源码编译安装Sqlite最新版本

下载源码 https://www.sqlite.org/download.html 复制下载链接,然后用 wget 下载 wget https://www.sqlite.org/2025/sqlite-autoconf-3490100.tar.gz 解压缩编译安装 tar -zxf sqlite-autoconf-3490100.tar.gz cd sqlite-autoconf-3490100 ./configure --prefi…

编程小白冲Kaggle每日打卡(17)--kaggle学堂:<机器学习简介>随机森林

Kaggle官方课程链接:Random Forests 本专栏旨在Kaggle官方课程的汉化,让大家更方便地看懂。 Random Forests 使用更复杂的机器学习算法。 介绍 决策树给你留下了一个艰难的决定。一棵有很多叶子的深树会被过度拟合,因为每一个预测都来自它…

GD32F450 使用

GB32F450使用 1. 相关知识2. 烧写程序3. SPI3.1 spi基础3.2 spi代码 4. 串口4.1 串口引脚4.2 串口通信代码 问题记录1. 修改晶振频率 注意:GD32F450 总共有三种封装形式,本文所述的相关代码和知识,均为 GD32F450IX 系列。 1. 相关知识 参数配…

labview中VISA串口出现异常的解决方案

前两天在做项目时发现,当用VISA串口读取指令时出现了回复异常的情况,不管发什么东西就一直乱回,针对这个情况,后面在VISA串口中加了一个VISA寄存器清零的函数。加了之后果然好多了,不会出现乱回的情况,但是…

Spring Boot 实战:轻松实现文件上传与下载功能

目录 一、引言 二、Spring Boot 文件上传基础 (一)依赖引入 (二)配置文件设置 (三)文件上传接口编写 (一)文件类型限制 (二)文件大小验证 &#xff0…

docker简介-学习与参考

docker Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱…

在AI中,tokens是自然语言处理(NLP)的基本单位,用于文本的分割和处理。

在AI中,tokens是自然语言处理(NLP)的基本单位,用于文本的分割和处理。‌ Tokens可以是单个单词、字符、子词或标点符号,具体形式取决于使用的分词方法。‌12 Tokens在AI模型中的作用 ‌文本处理‌:在AI模…

【分布式锁通关指南 04】redis分布式锁的细节问题以及RedLock算法原理

引言 在03篇中我们讲解了lua脚本的使用(Ps:如果你没跳过的话),目前我们通过api也好,lua脚本也好,已经基于redis实现了分布式锁,但看似完美的它其实还存在一些细节问题,本章节将会带领…