❤️博客主页: 楚生辉
❤️系列专栏:【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高的薪水相关推荐

  1. LeetCode数据库 177. 第N高的薪水

    177. 第N高的薪水 CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGINSET N = N - 1; # 改变N的值RETURN ...

  2. 文巾解题 177. 第N高的薪水

    1 题目描述 注意:数据中salary可能有重复 2 解题思路 2.1 LIMIT 这里salary可能有重复,所以为了算出答案,这里我们需要对salary进行一次grouping操作. 排名第N高意 ...

  3. 【LeetCode】177.第N高的薪水

    编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary). ±-±-------+ | Id | Salary | ±-±-------+ | 1 | 100 | | 2 ...

  4. leetcode中等之176.第二高的薪水

    Employee 表: Column Name Type id int salary int id 是这个表的主键. 表的每一行包含员工的工资信息. 问题 编写一个 SQL 查询,获取并返回 Empl ...

  5. 【SQL屠夫系列】leetcode-176. 第二高的薪水

    文章目录 1. 题目 1.1 表 1.2 需求 2. 考点分析 第一层解法 第二次解法 第三层解法 更多思路 3. 开撸 1. 第一层解法 4. 扩展:第N高的薪水 4.1 说明 4.2 思路 4.3 ...

  6. MySQL语句第二高的薪水查询

    查询第二高的薪水,如果只有一条记录,则返回NULL select IFNULL((select distinct salary from employee order by salary desc L ...

  7. LeetCode177 第N高的薪水

    https://leetcode-cn.com/problems/nth-highest-salary/ 解决方案 MySQL 方法一 CREATE FUNCTION getNthHighestSal ...

  8. leetcode176. 第二高的薪水(SQL)

    编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1  | 10 ...

  9. LeetCode-MySQL-174. 第二高的薪水

    编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 ...

最新文章

  1. 【转载】快速升职加薪的10个方法
  2. 利用sql报错帮助进行sql注入
  3. [设计模式] ------ 模板模式
  4. scrapy没有运行结果_关于Scrapy爬虫项目运行和调试的小技巧(下篇)
  5. 一个开源小项目,如何使用「分类网络」实现排球追踪
  6. 跨境电子商务独立站如何找到热门的利基市场
  7. Spring源码之ApplicationContext(七)获取消息资源
  8. Linux内核原子操作及函数
  9. H.264 SPS/PPS成员值含义
  10. Python遗传算法部分匹配交叉(PMX)
  11. 2020 数学建模 A题
  12. 用overleaf 写 计算机学报 格式的论文
  13. 大数据挖掘与分析——用八爪鱼爬虫采集百度搜索内容
  14. Photoshop提示暂存盘已满怎么办?ps暂存盘已满如何解决?
  15. MC33063电源啸叫
  16. MonthCalendar显示该年的12个月份
  17. 软件项目开发整体思路
  18. Linux ln -s目录,Linux ln 命令的使用
  19. IP 地址详解(IPv4、IPv6)
  20. 如何提取视频中的音频,不需要软件,在线就能做到

热门文章

  1. Python爬虫(5)css选择器
  2. 逝去的流年,渐行渐远,慢慢成为眼角的回忆
  3. 50道CSS基础面试题(附答案) 1
  4. 积分商城游戏能够给商家带来什么?怎么搭建积分商城?
  5. 获取select2选中的值_传奇技能第二祭:获取GM权限及管理员命令,调爆率和刷怪...
  6. openGL API glUniformMatrix4fv详解
  7. android unity hook,Unity3d安卓游戏DLL动态调式与HOOK基础
  8. 留人不留人,不留人亦去
  9. SQL-根据各人员上下级关系,得到各人员分别处于几级单位,并获取各人员的相关信息
  10. Springcloud 集成 Turbine