window function - leetcode

2020-06-25  本文已影响0人  PistachioITer

1、第n高的薪水

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
  RETURN (
      # Write your MySQL query statement below.
      WITH P AS (SELECT *, DENSE_RANK() OVER(ORDER BY Salary DESC) AS salary_rank
                 FROM Employee)
      SELECT DISTINCT P.Salary
      FROM P
      WHERE P.salary_rank = N
  );
END

2、185-部门前三高薪水的员工

select Department,Employee,Salary from
(
    select e.Name as Employee, e.Salary,d.Name as Department,DENSE_RANK() over(partition by DepartmentId order by Salary desc) as seq from Employee as e join
    Department as d on e.DepartmentId = d.Id
)T where T.seq <= 3
上一篇 下一篇

猜你喜欢

热点阅读