LeetCode-177. 第N高的薪水( Nth Highest Salary)。

佳能C3025打印机扫描方法 佳能C3025彩色打印机扫描方法 步骤一、如果打印机处于休眠状态,可按图中标记的按钮唤醒打印机; 然后点击屏幕上的【扫描】 步骤二、扫描类型选择【文件】 步骤三、点击屏幕上的【地址簿】 步骤四、此时屏幕胡看到名字,如果看不到自己的名字,可往下滑动直到看到自己的名字,然后点击自己的名字,再点击右下角的【应用】 步骤五、点击【发送设置】,可看到文件格式为PDF,点击可以选择JPEG的图片格式。... 阅读详情

编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary)。

+----+--------+
| Id | Salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+
例如上述 Employee 表,n = 2 时,应返回第二高的薪水 200。如果不存在第 n 高的薪水,那么查询应返回 null。

+------------------------+
| getNthHighestSalary(2) |
+------------------------+
| 200                    |
+------------------------+

题目来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/nth-highest-salary

解题:

按照176的思路,首先应该排序order by

然后使用用limit子句选择第n个

为排除第n个值可能为null的可能性应该使用ifnull()函数

select ((select * from  Employee order by Salary limit n,1),null)  as  getNthHighestSalary(2)

上边的思路和176题一样,还有更好的方式,应该使用mysql自定义函数。

自定义函数解答方式:

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
DECLARE M INT;
SET M=N-1;
  RETURN (
      # Write your MySQL query statement below.
      SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT M, 1
  );
END

注意:

MySQL创建存储过程时出错(...use near ' 'at line),

是分隔符的问题

解决办法是改变分隔符:delimiter //

delimiter //

sql语句

//

mysql的自定义变量:

用户变量:@变量名。用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效

全局变量:set GLOBAL 变量名  或者  set @@global.变量名,对所有客户端生效。只有具有super(超级权限)权限才可以设置全局变量

会话变量:本次连接会话有用的变量

局部变量:作用范围在begin到end语句块之间。declare语句专门用于定义局部变量,本条sql语句使用的就是局部变量。

自定义函数:

函数与存储过程的区别:函数只会返回一个值,不允许返回一个结果集。本题获取第n高,所以是一个值,可以使用函数,函数强调返回值,即使是查询语句也不允许返回多个值的情况出现。

create function 函数名([参数列表]) returns 数据类型
begin
 sql语句;
 return 值;
end;

参数列表的格式是:  变量名 数据类型   与java相反。

create function myfun() returns int return 666;
--函数的调用
select myfun(); 

--有sql语句
create function myfun() returns int
begin 
    declare c int;
    select id from class where cname="python" into c;
    return c;
end;
select myfun();
-- 带参的函数
create function myfun(name varchar(15)) returns int
begin 
    declare c int;
    select id from class where cname=name into c;
    return c;
end;
select myfun("python");

函数的调用:

直接使用函数名()就可以调用(sql中不使用select的话任何结果都无法显示出来(所以单纯调用会报错))

如果想要传入参数可以使用函数名(参数)

调用方式:

-- 无参
select myfun();
-- 传参
select myfun("python");
select * from class where id=myfun("python");

查看函数创建语句:show create function 函数名;

删除函数:drop function 函数名;

RT-DETR改进策略【注意力机制篇】| 2024 PPA 并行补丁感知注意模块,提高小目标关注度 本文记录的是利用改进检测精度,详细说明了优化原因,注意事项等。原论文在红外小目标检测任务中,小目标在多次下采样操作中容易丢失关键信息。通过替代编码器和解码器基本组件中的传统卷积操作,更好地保留小目标的重要信息。HCF-Net: Hierarchical Context Fusion Network for Infrared Small Object Detection采用多分支特征提取策略,通过不同分支提取不同尺度和层次的特征。利用局部、全局和串行卷积分支,对输入特征张量进行处理。通过控制 patch si 阅读详情

相关推荐

COCO2017数据集类别分布深度解析

本文深入解析了COCO2017数据集的类别分布情况,包括80个常见物体的分类统计和样本数量分析。通过对比训练集与验证集的分布一致性,探讨了数据均衡性问题,并针对高频和低频类别提出了实用的数据预处理和模型训练建议,帮助优化计算机视觉任务的性能。

weixin_42533751的博客 370

Leetcode 刷题 177.第N高薪水

通过LIMIT 指定 (N-1)开始取1位 -> LIMIT (N-1), 1 来获取第N高的薪水。通过窗口函数排序后 直接WHERE 排序 来指定第N高的薪水。个最高工资,查询结果应该为。查询结果格式如下所示。

weixin_52006675的博客 532

态路小课堂丨三款800G光模块方案介绍—SR8/DR8/2FR4

800G QSFP-DD 2FR4光模块使用CWDM4波长(1271/1291/1311/1331nm),单通道速率为100G,通过MUX减小光纤的数目,其光学接口采用CS接口或双芯LC接口。

poposu的博客 2390

力扣177.第N高的薪水 mysql函数语法例题

力扣177.第N高的薪水 mysql函数语法例题

weixin_43739821的博客 255

Slurm集群调度策略详解(1)-主调度

Slurm调度系统中针对作业的调度主要有三种,主调度,回填调度,GANG调度,这篇文章主要针对主调度进行解析。

h_m_l的博客 6031

带隙基准源要点

要点: 负反馈>正反馈;电流镜匹配;双极型晶体管匹配;电阻匹配; 经过R0的电流????????????=????????????????−????????????????????????=∆????????????????????i_R0=(〖VBE〗_1-〖VBE〗_2)/R_0 =∆VBE/R_0 经过R1的电流????????????=i_R1= ????????????????????VBE/R_1 零温电流I = ∆????????????????????∆VBE/R_0 +

HI_WALLE的博客 2266

mysql中薪水的属性_【Leetcode】Mysql查询第N高的薪水

编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary)。+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+例如上述 Employee 表,n = 2 时,应返回第二高的薪水 200。如果不存在第 n 高的薪水,...

weixin_28900437的博客 247

将pytorch的权值矩阵量化为定点数补码并导入FPGA中

Xilinx FPGA实现LSTM算法时对ROM的初始化 将pytorch框架的权重矩阵以定点数补码的形式导入到FPGA中 文章目录Xilinx FPGA实现LSTM算法时对ROM的初始化1. pytorch框架中的LSTM2. 初始化一个RNN模型 3. 初始化ROM的coe文件格式 4. 将参数转换为补码,并且输出到coe文件 5. 配置一个ROM 6. 结论7. 代码 1. pytorch框架中的LSTM pytorch框架将LSTM算法中的八个权值矩阵连接成两个矩阵,假设要导入的LSTM网络的输

随缘分享 4528

Leetcode SQL(五)

177. 第N高的薪水 https://leetcode-cn.com/problems/nth-highest-salary/ 题解 一:dense_rank函数。 CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN RETURN ( # Write your MySQL query statement below. select distinct Salary from (se...

xuanshuang的博客 1055

华为OD新系统机试真题 4.26 -最大化游戏试玩资格分发

华为OD机试新系统真题【最大化游戏试玩资格分发】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统机试 4月26号真题【最大化游戏试玩资格分发】。

qq_45776114的博客 831

图机器学习(2)——图的可视化

图结构可通过图形化方式直观呈现。节点通常用圆形表示,边则用连接线表示。然而当节点和边数量增加时,绘制清晰的图形表示可能会变得相当困难,这主要源于节点在二维坐标系中的布局问题。对于包含数百个节点的图,手动指定每个节点的坐标显然不切实际。在本节中,我们将介绍如何在不指定每个节点坐标的情况下绘制图形。我们将利用两种不同的解决方案:networkx 和 Gephi。

盼小辉丶的博客 8853

[Leetcode] 177. Nth Highest Salary 两种解法与解析

177. Nth Highest Salary 给定一个Employee表,要找出其中第N高的薪资(Salary) 解法一: 从Employee中,找出前N-1高的Salary,在剩下的薪水中找出最高的那一个即可 CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN RETURN ( # Write your M...

MaloFleur 884

Openclaw接入大模型API,操作本地windows文件

本文介绍了在WSL2环境下配置OpenClaw使用阿里百炼API的方法。主要内容包括:1)确认WSL2安装完成;2)配置阿里百炼API(需注意Qwen3-Max-Thinking为收费模型);3)提供正确的JSON配置格式示例,强调apiKey必须填写真实值;4)说明配置错误需修改Linux配置文件;5)建议通过询问模型信息验证连接成功。后续将介绍如何切换免费API及本地文件访问功能。

qq_27246521的博客 989

LeetCode176 & 177. Second/NtH Highest Salary - 第 2/N 高的薪水 <Medium>

编写一个 SQL 查询,获取Employee表中第二/N高的薪水(Salary)。 +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+ 例如上述Employee表,SQL查询应该返回200作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回null。 +---------------------+ | Secon...

Lazyafei's Blog 187

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LeetCode177 Nth Highest Salary

素质三连。。。

李歇特冯-兹拜因巴哈的博客 155

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

leetcode 177 Nth Highest Salary

Write a SQL query to get the nth highest salary from the Employee table. +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+ For exampl

zhangfanhehe_1的专栏 2338

力扣数据库刷题-177.第N高的薪水

1、降序筛选出前N个最大的,此时第N大的位置在第N个。2、反转前N个最大的,此时第N大的位置在第一个。3、加入对异常情况的判断处理。

qq_41693059的博客 233

Leetcode#177. Nth Highest Salary

题目描述:写一个SQL查询,得到第n个最高的薪水值,如当 n=2 时,结果如下: SQL语句如下,注意分号;的位置: CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN Declare M INT; /*声明一个变量M*/ Set M = N - 1; /*由于limit是从0开始的,要和N保持一...

CongliYin的博客 471

LeetCode177 第N高的薪水

https://leetcode-cn.com/problems/nth-highest-salary/ 解决方案 MySQL 方法一 CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN SET n = N-1; RETURN ( SELECT (SELECT DISTINCT Salary FROM Employee .

无限迭代中...... 565

Leetcode 177. Nth Highest Salary数据库

Write a SQL query to get thenthhighest salary from theEmployeetable. +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+ For example...

salmonwilliam的博客 499

Leetcode 177 Nth Highest Salary SQL Pandas解法

177. Nth Highest Salary SQL Pandas解法题目解法SQLPandas 题目 Easy Write a SQL query to get the second highest salary from the Employee table. Id Salary 1 100 2 200 3 300 For example, given the above Employee table, the query should return 200 as the

Dandelion63的博客 371

leetcode 177. Nth Highest Salary

Write a SQL query to get the nth highest salary from the Employee table. +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+ For exampl

星尘 1029

LeetCode 177. Nth Highest Salary (sql)

177.Nth Highest Salary Medium Write a SQL query to get thenthhighest salary from theEmployeetable. +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 ...

da_kao_la的博客 270

Nth Highest Salary-LeetCode_No.177

Write a SQL query to get thenth highest salary from theEmployeetable. +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+ For example...

酹江月的博客 269

LeetCode 177. Nth Highest Salary (mysql limit 和 offset用法)

Description: Write a SQL query to get the nth highest salary from the Employee table. ±—±-------+ | Id | Salary | ±—±-------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | ±—±-------+ For example, given the above Employee table, the nth highest salary wh

村里的原振侠的博客 271
上一篇: Hibernate分页的简单描述,思想以及实现方法。
下一篇: LeetCode-178. 分数排名( Rank Scores)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值