1. 程式人生 > >LeetCode題庫 資料庫分類 困難 185. 部門工資前三高的員工 MS SQL解法 答案

LeetCode題庫 資料庫分類 困難 185. 部門工資前三高的員工 MS SQL解法 答案

最近在刷leetcode題庫,剛好看到中文網站已經上線了,新增了ms sql直譯器。困難難度連結在這,就順便吐槽一下這個中文名字吧。 [ 力扣題庫 ]

185. 部門工資前三高的員工

Employee 表包含所有員工資訊,每個員工有其對應的 Id, salary 和 department Id 。

Id Name Salary DepartmentId
1 Joe 70000 1
2 Henry 80000 2
3 Sam 60000 2
4 Max 90000 1
5 Janet 69000 1
6 Randy 85000 1

Department 表包含公司所有部門的資訊。

Id Name
1 IT
2 Sales

編寫一個 SQL 查詢,找出每個部門工資前三高的員工。例如,根據上述給定的表格,查詢結果應返回:

Department Employee Salary
IT Max 90000
IT Randy 85000
IT Joe 70000
Sales Henry 80000
Sales Sam 60000

解法

select
department ,employee ,salary from ( select b.name as department ,a.name as employee ,salary ,dense_rank() over(partition by departmentid order by salary desc) as rn from employee a left join department b on a.departmentid=b.id where b.name is not null) a where rn<=3 order by department,salary desc

*如有問題,敬請留言。

相關推薦

LeetCode 資料庫分類 困難 185. 部門工資三高員工 MS SQL解法 答案

最近在刷leetcode題庫,剛好看到中文網站已經上線了,新增了ms sql直譯器。困難難度連結在這,就順便吐槽一下這個中文名字吧。 [ 力扣題庫 ] 185. 部門工資前三高的員工 Employee 表包含所有員工資訊,每個員工有其

LeetCode 資料庫分類 困難 601. 體育館的人流量 MS SQL解法 答案

最近在刷leetcode題庫,剛好看到中文網站已經上線了,新增了ms sql直譯器。困難難度連結在這,就順便吐槽一下這個中文名字吧。 [ 力扣題庫 ] 601. 體育館的人流量 X 市建了一個新的體育館,每日人流量資訊被記錄在這三列資

LeetCode185. 部門工資三高員工 學習筆記

Employee 表包含所有員工資訊,每個員工有其對應的 Id, salary 和 department Id 。+----+-------+--------+--------------+ | Id | Name | Salary | DepartmentId | +--

185. 部門工資三高員工

Employee 表包含所有員工資訊,每個員工有其對應的 Id, salary 和 department Id 。 +----+-------+--------+--------------+ | Id | Name | Salary | DepartmentId | +

力扣——部門工資三高員工(數據

所有 編寫 tid name sam code write employee 部門 Employee 表包含所有員工信息,每個員工有其對應的 Id, salary 和 department Id 。 +----+-------+--------+--------------

相關子查詢——用子查詢實現類似遍歷的效果(部門工資三高員工

在leetcode上看到了一道sql題目,但是不太會,看了題解以後感覺還是雲裡霧裡的,經過一番搜尋終於感覺明白了點 原來子查詢還有兩種 一種叫相關子查詢,一種叫巢狀(非相關)子查詢,區別就是子查詢是否和外部查詢相關 非相關:不多說,學過sql基礎的都會,執行過程也

leetcode185. 部門工資三高員工

Employee 表包含所有員工資訊,每個員工有其對應的 Id, salary 和 department Id 。 ±—±------±-------±-------------+ | Id | Name | Salary | DepartmentId | ±—±------±---

LeetCode185-MySQL-部門工資三高員工

Employee 表包含所有員工資訊,每個員工有其對應的 Id, salary 和 department Id 。+----+-------+--------+--------------+ | Id | Name | Salary | DepartmentId | +----+-------+------

LeetCode13. 羅馬數字轉整數(c++實現)

input rcp name iii leetcode nbsp out pre sin 問題描述: 羅馬數字包含以下七種字符: I, V, X, L,C,D 和 M。 字符 數值 I 1 V 5

最近整理的一些常見的面試題,面試大全,黑馬程式設計師面試寶典---資料庫--篇

一、 Mysql 1. SQL 的 select 語句完整的執行順序 SQL Select 語句完整的執行順序: 1、 from 子句組裝來自不同資料來源的資料; 2、 where 子句基於指定的條件對記錄行進行篩選; 3、 group by 子句將資料劃分為多個分組; 4、使用聚集

leetcode——搜尋旋轉排序陣列

題目描述: 假設按照升序排序的陣列在預先未知的某個點上進行了旋轉。 ( 例如,陣列 [0,1,2,4,5,6,7] 可能變為 [4,5,6,7,0,1,2] )。 搜尋一個給定的目標值,如果陣列中存在這個目標值,則返回它的索引,否則返回&nbs

leetcode——字母異位詞分組

題目描述: 給定一個字串陣列,將字母異位詞組合在一起。字母異位詞指字母相同,但排列不同的字串。 示例: 輸入: ["eat", "tea", "tan", "ate", "nat", "bat"], 輸出: [ ["ate","eat","tea"], ["nat","tan

leetcode——旋轉影象

題目描述: 給定一個 n × n 的二維矩陣表示一個影象。 將影象順時針旋轉 90 度。 說明: 你必須在原地旋轉影象,這意味著你需要直接修改輸入的二維矩陣。請不要使用另一個矩陣來旋轉影象。 示例 1: 給定 matrix = [

leetcode——報數

題目描述: 報數序列是一個整數序列,按照其中的整數的順序進行報數,得到下一個數。其前五項如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被讀作  "one 1" &nbs

leetcode——組合總和II

題目描述: 給定一個數組 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和為 target 的組合。 candidates 中的每個數字在每個組合中

leetcode——全排列II

題目描述: 給定一個可包含重複數字的序列,返回所有不重複的全排列。 示例: 輸入: [1,1,2] 輸出: [ [1,1,2], [1,2,1], [2,1,1] ] 方法: class Solution { public: vector<vecto

leetcode——全排列

題目描述: 給定一個沒有重複數字的序列,返回其所有可能的全排列。 示例: 輸入: [1,2,3] 輸出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 方法:深搜 class Solu

leetcode——組合總和

題目描述: 給定一個無重複元素的陣列 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和為 target 的組合。 candidates 中的數字可以

leetcode——搜尋插入位置

題目描述: 給定一個排序陣列和一個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。 你可以假設陣列中無重複元素。 示例 1: 輸入: [1,3,5,6], 5 輸出: 2 示例 2: 輸入: [1,3,5,6]

leetcode——正則表示式匹配

題目描述: 給定一個字串 (s) 和一個字元模式 (p)。實現支援 '.' 和 '*' 的正則表示式匹配。 '.' 匹配任意單個字元。 '*' 匹配零個或多個前面的元素。 匹配應該覆蓋整個字串 (s) ,而不是部分字串。