【LeetCode】177. 第N高的薪水

LeetCode數(shù)據(jù)庫題目

題目

編寫一個(gè) SQL 查詢,獲取 Employee 表中第n高的薪水(Salary) 。

+----+--------+
| Id | Salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+

例如上述 Employee 表,n = 2 時(shí),應(yīng)返回第二高的薪水 200 。如果不存在第n高的薪水,那么查詢應(yīng)返回 null。

+------------------------+
| getNthHighestSalary(2) |
+------------------------+
| 200                    |
+------------------------+

思路

  1. 查詢目標(biāo):Salary (As SecondHighestSalary)
  2. 查詢范圍:Emplpoyee表
  3. 查詢條件:(1)返回第二高的薪水(2)如果不存在第二高的薪水,那么查詢應(yīng)返回 null。

解答

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN

set N = N - 1;
  
  RETURN (
      # Write your MySQL query statement below.
      select 
        (select distinct
            Salary
         from
            Employee
         order by Salary desc
         limit 1 offset N)
  );
END
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容