【LC中等】177. 第N高的薪水
❤️博客主页: 楚生辉
❤️系列专栏:【LeetCode刷题】
❤️一句短话: 坚持不懈,孜孜不倦
1.题目描述
表: Employee
+-------------+------+
| Column Name | Type |
+-------------+------+
| id | int |
| salary | int |
+-------------+------+
Id是该表的主键列。
该表的每一行都包含有关员工工资的信息。
编写一个SQL查询来报告 Employee
表中第 n
高的工资。如果没有第 n
个最高工资,查询应该报告为 null
。
查询结果格式如下所示。
示例 1
输入:
Employee table:
+----+--------+
| id | salary |
+----+--------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+----+--------+
n = 2
输出:
+------------------------+
| getNthHighestSalary(2) |
+------------------------+
| 200 |
+------------------------+
示例 2
输入:
Employee 表:
+----+--------+
| id | salary |
+----+--------+
| 1 | 100 |
+----+--------+
n = 2
输出:
+------------------------+
| getNthHighestSalary(2) |
+------------------------+
| null |
+------------------------+
2.代码实现
使用自定义函数
注意:索引从0开始,所以要 - 1,最好在外面就设定好 set N = N - 1
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
set N = N - 1;RETURN (select ifnull((select distinct Salary from Employeeorder by Salary desc limit N,1),null) );
END
limit n, 1,代表从第n条数据开始查询,1代表查询的条数(只查询一条)
limit 0,1 其实就代表查询第一条数据
limit 1,1 其实就代表查询第二条数据
limit 1 offset 1:limit后面的数字是查询几条数据,offset后面的数据是从哪条数据开始查询
limit 2 offerset 3:也就是查询4和5这两条数据
【LC中等】177. 第N高的薪水相关推荐
- LeetCode数据库 177. 第N高的薪水
177. 第N高的薪水 CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGINSET N = N - 1; # 改变N的值RETURN ...
- 文巾解题 177. 第N高的薪水
1 题目描述 注意:数据中salary可能有重复 2 解题思路 2.1 LIMIT 这里salary可能有重复,所以为了算出答案,这里我们需要对salary进行一次grouping操作. 排名第N高意 ...
- 【LeetCode】177.第N高的薪水
编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary). ±-±-------+ | Id | Salary | ±-±-------+ | 1 | 100 | | 2 ...
- leetcode中等之176.第二高的薪水
Employee 表: Column Name Type id int salary int id 是这个表的主键. 表的每一行包含员工的工资信息. 问题 编写一个 SQL 查询,获取并返回 Empl ...
- 【SQL屠夫系列】leetcode-176. 第二高的薪水
文章目录 1. 题目 1.1 表 1.2 需求 2. 考点分析 第一层解法 第二次解法 第三层解法 更多思路 3. 开撸 1. 第一层解法 4. 扩展:第N高的薪水 4.1 说明 4.2 思路 4.3 ...
- MySQL语句第二高的薪水查询
查询第二高的薪水,如果只有一条记录,则返回NULL select IFNULL((select distinct salary from employee order by salary desc L ...
- LeetCode177 第N高的薪水
https://leetcode-cn.com/problems/nth-highest-salary/ 解决方案 MySQL 方法一 CREATE FUNCTION getNthHighestSal ...
- leetcode176. 第二高的薪水(SQL)
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 | 10 ...
- LeetCode-MySQL-174. 第二高的薪水
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 ...
最新文章
- 【转载】快速升职加薪的10个方法
- 利用sql报错帮助进行sql注入
- [设计模式] ------ 模板模式
- scrapy没有运行结果_关于Scrapy爬虫项目运行和调试的小技巧(下篇)
- 一个开源小项目,如何使用「分类网络」实现排球追踪
- 跨境电子商务独立站如何找到热门的利基市场
- Spring源码之ApplicationContext(七)获取消息资源
- Linux内核原子操作及函数
- H.264 SPS/PPS成员值含义
- Python遗传算法部分匹配交叉(PMX)
- 2020 数学建模 A题
- 用overleaf 写 计算机学报 格式的论文
- 大数据挖掘与分析——用八爪鱼爬虫采集百度搜索内容
- Photoshop提示暂存盘已满怎么办?ps暂存盘已满如何解决?
- MC33063电源啸叫
- MonthCalendar显示该年的12个月份
- 软件项目开发整体思路
- Linux ln -s目录,Linux ln 命令的使用
- IP 地址详解(IPv4、IPv6)
- 如何提取视频中的音频,不需要软件,在线就能做到
热门文章
- Python爬虫(5)css选择器
- 逝去的流年,渐行渐远,慢慢成为眼角的回忆
- 50道CSS基础面试题(附答案) 1
- 积分商城游戏能够给商家带来什么?怎么搭建积分商城?
- 获取select2选中的值_传奇技能第二祭:获取GM权限及管理员命令,调爆率和刷怪...
- openGL API glUniformMatrix4fv详解
- android unity hook,Unity3d安卓游戏DLL动态调式与HOOK基础
- 留人不留人,不留人亦去
- SQL-根据各人员上下级关系,得到各人员分别处于几级单位,并获取各人员的相关信息
- Springcloud 集成 Turbine