首页 > 代码库 > 177. Nth Highest Salary (Medium)
177. Nth Highest Salary (Medium)
Source: https://leetcode.com/problems/nth-highest-salary/#/description
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 where n = 2 is 200. If there is no nth highest salary, then the query should return null.
+------------------------+ | getNthHighestSalary(2) | +------------------------+ | 200 | +------------------------+
Solution:
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN RETURN ( select DISTINCT SALARY from ( select u1.id,u1.salary,u2.jishu from (select * from Employee)u1 inner join ( select t1.id, count(*) as jishu from ( select e1.id,e1.salary from (select salary,min(id) as id from Employee group by salary) e1 inner JOIN (select salary,min(id) as id from Employee group by salary)e2 on e1.salary <= e2.salary )t1 group by t1.id ) u2 on u1.id = u2.id )p where p.jishu =N ); END
177. Nth Highest Salary (Medium)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。