考察sql中函数使用,表内自连接排序,可以得到rank。
https://leetcode.com/problems/nth-highest-salary/
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
RETURN (
SELECT DISTINCT A.Salary FROM
(SELECT E2.Id,E2.Salary,COUNT(1) AS RANK FROM
(SELECT DISTINCT Salary FROM Employee) E1
INNER JOIN Employee E2
ON E1.Salary>=E2.Salary
GROUP BY E2.Id,E2.Salary) A WHERE A.RANK=N
);
END
本文介绍了一种在SQL中通过表内自连接实现特定排序的方法,并提供了LeetCode上一道关于求取第N高薪水的具体解决方案。该方案利用了自连接和排名函数,通过子查询实现了对指定排名的数据获取。
1063

被折叠的 条评论
为什么被折叠?



