1. 程式人生 > >【LeetCode】177.第N高的薪水

【LeetCode】177.第N高的薪水

177.N高的薪水

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


用到的表和資料SQL:

Create table If Not Exists Employee (Idint, Salary int);
Truncate table Employee;
insert into Employee (Id, Salary) values('1', '100');
insert into Employee (Id, Salary) values('2', '200');
insert into Employee (Id, Salary) values('3', '300');

答案:

此題和第二高的薪水有相似之處,算作它的擴充套件題,這裡也可以作為第二高薪水的答案;

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
  RETURN (
select Max(Salary) from Employee e1 
where N = ( select count(distinct(e2.Salary)) from Employee e2 where e2.Salary >=e1.Salary )
 );
END


 寫的比較粗糙,有不理解的可以掃描二維碼加QQ群找我解答。



相關推薦

LeetCode177.N薪水

177.第N高的薪水編寫一個 SQL 查詢語句,獲取Employee表中第n高的薪水(Salary)。用到的表和資料SQL:Create table If Not Exists Employee (Id

leetcode177. N薪水

這題其實和177思想比較接近,排序就行了 程式碼: CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN RETURN ( # Write your MySQL query state

LeetCode資料庫-177. N薪水

編寫一個 SQL 查詢,獲取 Employee 表中第 n 高的薪水(Salary)。 +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3

mysql關鍵字DISTINCT/LIMIT習題 596. 超過5名學生的課+177. N薪水

一、DISTINCT關鍵字使用場景:   1.SELECT DISTINCT column1,column2... :      返回不同值的行,應有於column1、column2所有列而不僅是column1列。eg:下題177.   2.COUNT(DISTINCT

Leetcode 177. N薪水

編寫一個 SQL 查詢,獲取 Employee 表中第 n 高的薪水(Salary)。 +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3

LeetCode #177N薪水

看起來好像是上一道題的延伸,感覺迴圈一波好像也能幹,但是仔細一想,萬一表的元組很多呢?換個思路:先對錶進行降序排序,然後查詢前N個元組,最後從結果中再查詢最後一個元組就是答案了。limit 函式一個引數

177. N薪水

第N高的薪水 編寫一個 SQL 查詢,獲取 Employee 表中第 n 高的薪水(Salary)。 ±—±-------+ | Id | Salary | ±—±-------+ | 1 | 100 | | 2 | 200 | | 3 |

177.N薪水

編寫一個 SQL 查詢,獲取 Employee 表中第 n 高的薪水(Salary)。 +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300

LeetcodeMysql查詢第二薪水

編寫一個 SQL 查詢,獲取 Employee 表中第二高的薪水(Salary) 。 +—-+——–+ | Id | Salary | +—-+——–+ | 1 | 100 | | 2

LeetCode資料庫題——N薪水

編寫一個 SQL 查詢,獲取 Employee 表中第 n 高的薪水(Salary)。+----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+

177. N薪水(Nth Highest Salary)

題目: 編寫一個 SQL 查詢,獲取 Employee 表中第 n 高的薪水(Salary)。 +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | |

LeetCode60. k個排列

題目連結:https://leetcode-cn.com/problems/permutation-sequence/description/ 題目描述 給出集合 [1,2,3,…,n],其所有元素共有 n! 種排列。 按大小順序列出所有排列情況,並一一標記,當 n = 3

LeetCode 779. K個語法符號

遞迴 題目 在第一行我們寫上一個 0。接下來的每一行,將前一行中的0替換為01,1替換為10。 給定行數 N 和序數 K,返回第 N 行中第 K個字元。(K從1開始) 例子: 輸入: N = 1, K = 1 輸出: 0 輸入: N = 2, K = 1 輸

leetcode51. (Hard) N-Queens

題目連結 解題思路: 回溯 res用於存放所有的結果 positions用於記錄當前已經擺放好的有效的皇后的位置 columns是一個一維陣列,長度為n。用於記錄第一排、第二排、第三排…的皇后的位置(所在的列)。 主體函式是solveNQueens. newDistrub

leetcode52. (Hard) N Queens II

題目連結 解題思路: 回溯 提交程式碼: class Solution { public int totalNQueens(int n) { int[][] positions=new int[n][n]; int[] columns=new

LeetCode157. Read N Characters Given Read4

Difficulty: Easy  More:【目錄】LeetCode Java實現 Description The API: int read4(char *buf) reads 4 characters at a time from a file.The return value is t

LeetCode414. 三大的數

題目描述 給定一個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是O(n)。 示例1 輸入: [3, 2, 1] 輸出: 1 解釋: 第三大的數是 1.

LeetCode195. 十行

題目 給定一個文字檔案 file.txt,請只打印這個檔案中的第十行。 示例: 假設 file.txt 有如下內容: Line 1 Line 2 Line 3 Line 4 Line 5 Line 6

Python尋找n個默尼森數

題目內容: 找第n個默尼森數。P是素數且M也是素數,並且滿足等式M=2P-1,則稱M為默尼森數。例如,P=5,M=2P-1=31,5和31都是素數,因此31是默尼森數。 輸入格式: 按提示用input()函式輸入 輸出格式: int型別 輸入樣例: 4 輸出樣例

LeetcodeMysql查詢N薪水

編寫一個 SQL 查詢,獲取 Employee 表中第 n 高的薪水(Salary)。 +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3