iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SQL中怎么利用LeetCode求第N高薪水
  • 437
分享到

SQL中怎么利用LeetCode求第N高薪水

2023-06-20 19:06:18 437人浏览 安东尼
摘要

sql中怎么利用LeetCode求第N高薪水,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。[LeetCode] 177.Nth Highest Salary 第

sql中怎么利用LeetCode求第N高薪水,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

[LeetCode] 177.Nth Highest Salary 第N高薪水

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 where n = 2 is 200. If there is no nth highest salary, then the query should return null.

这道题是之前那道Second Highest Salary的拓展,根据之前那道题的做法,我们可以很容易的将其推展为N,根据对Second Highest Salary中解法一的分析,我们只需要将OFFSET后面的1改为N-1就行了,但是这样MySQL会报错,估计不支持运算,那么我们可以在前面加一个SET N = N - 1,将N先变成N-1再做也是一样的:

解法一:

CREATE FUNCTioN getNthHighestSalary(N INT) RETURNS INTBEGIN  SET N = N - 1;  RETURN (      SELECT DISTINCT Salary FROM Employee GROUP BY Salary      ORDER BY Salary DESC LIMIT 1 OFFSET N  );END

根据对Second Highest Salary中解法四的分析,我们只需要将其1改为N-1即可,这里却支持N-1的计算,参见代码如下:

解法二:

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN  RETURN (      SELECT MAX(Salary) FROM Employee E1      WHERE N - 1 =      (SELECT COUNT(DISTINCT(E2.Salary)) FROM Employee E2      WHERE E2.Salary > E1.Salary)  );END

当然我们也可以通过将最后的>改为>=,这样我们就可以将N-1换成N了:

解法三:

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN  RETURN (      SELECT MAX(Salary) FROM Employee E1      WHERE N =      (SELECT COUNT(DISTINCT(E2.Salary)) FROM Employee E2      WHERE E2.Salary >= E1.Salary)  );END

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: SQL中怎么利用LeetCode求第N高薪水

本文链接: https://www.lsjlt.com/news/299528.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL中怎么利用LeetCode求第N高薪水
    SQL中怎么利用LeetCode求第N高薪水,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。[LeetCode] 177.Nth Highest Salary 第...
    99+
    2023-06-20
  • SQL中怎么利用LeetCode求第二高薪水
    这篇文章将为大家详细讲解有关SQL中怎么利用LeetCode求第二高薪水,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。[LeetCode] 176.Second Highest Salary...
    99+
    2023-06-20
  • SQL实现LeetCode(177.第N高薪水)
    [LeetCode] 177.Nth Highest Salary 第N高薪水 Write a SQL query to get the nth highest ...
    99+
    2024-04-02
  • SQL中怎么利用LeetCode求最高薪水
    本篇文章为大家展示了SQL中怎么利用LeetCode求最高薪水,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。[LeetCode] 184.Department Highest Salary 系里最高...
    99+
    2023-06-20
  • SQL中怎么利用LeetCode求前三高薪水
    今天就跟大家聊聊有关SQL中怎么利用LeetCode求前三高薪水,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。[LeetCode] 185.Department Top Three ...
    99+
    2023-06-20
  • SQL实现LeetCode(176.第二高薪水)
    [LeetCode] 176.Second Highest Salary 第二高薪水 Write a SQL query to get the second highest sala...
    99+
    2024-04-02
  • Pipes中怎么利用LeetCode求第十行
    本篇文章为大家展示了Pipes中怎么利用LeetCode求第十行,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。[LeetCode] 195.Tenth Line 第十行How would you p...
    99+
    2023-06-20
  • C++中怎么利用LeetCode读取N个字符
    这期内容当中小编将会给大家带来有关C++中怎么利用LeetCode读取N个字符,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。[LeetCode] 158. Read N Characters Given ...
    99+
    2023-06-20
  • Pipes中怎么利用LeetCode求单词频率
    这期内容当中小编将会给大家带来有关Pipes中怎么利用LeetCode求单词频率,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。[LeetCode] 192.Word Frequency 单词频率Write...
    99+
    2023-06-20
  • C++中怎么利用LeetCode求位1的个数
    这期内容当中小编将会给大家带来有关C++中怎么利用LeetCode求位1的个数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。[LeetCode] 191.Number of 1 Bits 位1的个数Wri...
    99+
    2023-06-20
  • SQL中怎么利用LeetCode实现分数排行
    这篇文章给大家介绍SQL中怎么利用LeetCode实现分数排行,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。[LeetCode] 178.Rank Scores 分数排行Write a SQL query to ran...
    99+
    2023-06-20
  • SQL中怎么利用LeetCode实现连续的数字
    SQL中怎么利用LeetCode实现连续的数字,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。[LeetCode] 180.Consecutive Numbers 连续的数字...
    99+
    2023-06-20
  • C++中怎么利用LeetCode求最大子数组乘积
    这期内容当中小编将会给大家带来有关C++中怎么利用LeetCode求最大子数组乘积,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。[LeetCode] 152. Maximum Product Subarr...
    99+
    2023-06-20
  • 怎么获得MySQL结果集中的第n个最高值
    这篇文章主要介绍了怎么获得MySQL结果集中的第n个最高值,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。 MySQL中最棘手的问题之一...
    99+
    2024-04-02
  • C++中怎么利用LeetCode求根到叶节点数字之和
    C++中怎么利用LeetCode求根到叶节点数字之和,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。[LeetCode] 129. Sum Root to Lea...
    99+
    2023-06-20
  • C++中怎么利用LeetCode拆分词
    这期内容当中小编将会给大家带来有关C++中怎么利用LeetCode拆分词,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。[LeetCode] 140.Word Break II 拆分词句之二Given a&...
    99+
    2023-06-20
  • python中怎么使用递归法求n的阶乘
    在Python中,可以使用递归方法来计算n的阶乘。递归是指函数调用自身的过程。下面是一个使用递归法计算n的阶乘的示例代码:```py...
    99+
    2023-09-15
    python
  • Pipes中怎么利用LeetCode转置文件
    这篇文章给大家介绍Pipes中怎么利用LeetCode转置文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。[LeetCode] 194.Transpose File 转置文件Given a text file&nbs...
    99+
    2023-06-20
  • C++中怎么利用LeetCode求买股票的最佳时间含冷冻期
    C++中怎么利用LeetCode求买股票的最佳时间含冷冻期,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。[LeetCode] 309.Best Time to Buy and ...
    99+
    2023-06-20
  • C++中怎么利用LeetCode移除元素
    这篇文章给大家介绍C++中怎么利用LeetCode移除元素,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。[LeetCode] 27. Remove Element 移除元素Given an array num...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作