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 市建了一個新的體育館,每日人流量資訊被記錄在這三列資
【LeetCode】185. 部門工資前三高的員工 學習筆記
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 | +----+-------+------
LeetCode題庫13. 羅馬數字轉整數(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) ,而不是部分字串。