校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > SQL實(shí)現(xiàn)LeetCode(185.系里前三高薪水)

SQL實(shí)現(xiàn)LeetCode(185.系里前三高薪水)

熱門標(biāo)簽:臨清電話機(jī)器人 話務(wù)外呼系統(tǒng)怎么樣 云南電商智能外呼系統(tǒng)價(jià)格 智能外呼系統(tǒng)復(fù)位 外東北地圖標(biāo)注 大眾點(diǎn)評星級酒店地圖標(biāo)注 拉卡拉外呼系統(tǒng) 高清地圖標(biāo)注道路 400電話可以辦理嗎

[LeetCode] 185.Department Top Three Salaries 系里前三高薪水

The Employee table holds all employees. Every employee has an Id, and there is also a column for the 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            |
+----+-------+--------+--------------+

The Department table holds all departments of the company.

+----+----------+
| Id | Name     |
+----+----------+
| 1  | IT       |
| 2  | Sales    |
+----+----------+

Write a SQL query to find employees who earn the top three salaries in each of the department. For the above tables, your SQL query should return the following rows.

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

這道題是之前那道Department Highest Salary的拓展,難度標(biāo)記為Hard,還是蠻有難度的一道題,綜合了前面很多題的知識點(diǎn),首先看使用Select Count(Distinct)的方法,我們內(nèi)交Employee和Department兩張表,然后我們找出比當(dāng)前薪水高的最多只能有兩個(gè),那么前三高的都能被取出來了,參見代碼如下:

解法一:

SELECT d.Name AS Department, e.Name AS Employee, e.Salary FROM Employee e
JOIN Department d on e.DepartmentId = d.Id
WHERE (SELECT COUNT(DISTINCT Salary) FROM Employee WHERE Salary > e.Salary
AND DepartmentId = d.Id)  3 ORDER BY d.Name, e.Salary DESC;

下面這種方法將上面方法中的3換成了IN (0, 1, 2),是一樣的效果:

解法二:

SELECT d.Name AS Department, e.Name AS Employee, e.Salary FROM Employee e, Department d
WHERE (SELECT COUNT(DISTINCT Salary) FROM Employee WHERE Salary > e.Salary
AND DepartmentId = d.Id) IN (0, 1, 2) AND e.DepartmentId = d.Id ORDER BY d.Name, e.Salary DESC;

或者我們也可以使用Group by Having Count(Distinct ..) 關(guān)鍵字來做:

解法三:

SELECT d.Name AS Department, e.Name AS Employee, e.Salary FROM 
(SELECT e1.Name, e1.Salary, e1.DepartmentId FROM Employee e1 JOIN Employee e2 
ON e1.DepartmentId = e2.DepartmentId AND e1.Salary = e2.Salary GROUP BY e1.Id 
HAVING COUNT(DISTINCT e2.Salary) = 3) e JOIN Department d ON e.DepartmentId = d.Id 
ORDER BY d.Name, e.Salary DESC;

下面這種方法略微復(fù)雜一些,用到了變量,跟Consecutive Numbers中的解法三使用的方法一樣,目的是為了給每個(gè)人都按照薪水的高低增加一個(gè)rank,最后返回rank值小于等于3的項(xiàng)即可,參見代碼如下:

解法四:

SELECT d.Name AS Department, e.Name AS Employee, e.Salary FROM 
(SELECT Name, Salary, DepartmentId,
@rank := IF(@pre_d = DepartmentId, @rank + (@pre_s > Salary), 1) AS rank,
@pre_d := DepartmentId, @pre_s := Salary 
FROM Employee, (SELECT @pre_d := -1, @pre_s := -1, @rank := 1) AS init
ORDER BY DepartmentId, Salary DESC) e JOIN Department d ON e.DepartmentId = d.Id
WHERE e.rank = 3 ORDER BY d.Name, e.Salary DESC;

類似題目:

Department Highest Salary

Second Highest Salary

Combine Two Tables

參考資料:

https://leetcode.com/discuss/23002/my-tidy-solution

https://leetcode.com/discuss/91087/yet-another-solution-using-having-count-distinct

https://leetcode.com/discuss/69880/two-solutions-1-count-join-2-three-variables-join

到此這篇關(guān)于SQL實(shí)現(xiàn)LeetCode(185.系里前三高薪水)的文章就介紹到這了,更多相關(guān)SQL實(shí)現(xiàn)系里前三高薪水內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • SQL實(shí)現(xiàn)LeetCode(196.刪除重復(fù)郵箱)
  • SQL實(shí)現(xiàn)LeetCode(184.系里最高薪水)
  • SQL實(shí)現(xiàn)LeetCode(183.從未下單訂購的顧客)
  • SQL實(shí)現(xiàn)LeetCode(182.重復(fù)的郵箱)
  • SQL實(shí)現(xiàn)LeetCode(181.員工掙得比經(jīng)理多)
  • SQL實(shí)現(xiàn)LeetCode(180.連續(xù)的數(shù)字)
  • C++實(shí)現(xiàn)LeetCode(179.最大組合數(shù))
  • SQL實(shí)現(xiàn)LeetCode(197.上升溫度)

標(biāo)簽:福州 山西 定西 無錫 三明 阿里 揚(yáng)州 溫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL實(shí)現(xiàn)LeetCode(185.系里前三高薪水)》,本文關(guān)鍵詞  SQL,實(shí)現(xiàn),LeetCode,185.,系里,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL實(shí)現(xiàn)LeetCode(185.系里前三高薪水)》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL實(shí)現(xiàn)LeetCode(185.系里前三高薪水)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    精品国产乱码久久久久久老虎| 成人不卡免费av| 一区二区三区小说| 亚洲免费在线视频一区 二区| 国产精品欧美综合在线| 中文字幕精品三区| 亚洲欧美影音先锋| 亚洲一区欧美一区| 亚洲最大成人综合| 午夜电影一区二区| 奇米精品一区二区三区在线观看一| 同产精品九九九| 久久精品噜噜噜成人av农村| 国产一区二区三区免费看| 国产精品一区久久久久| eeuss鲁片一区二区三区在线观看| 91视频com| 欧美日韩国产123区| 日韩精品一区二区三区视频在线观看| 日韩欧美国产不卡| 国产嫩草影院久久久久| 一区二区在线电影| 蜜臀av性久久久久蜜臀aⅴ流畅 | 日本中文在线一区| 精品一区二区三区在线观看国产 | 亚洲精品国产精华液| 亚洲电影一区二区三区| 六月丁香综合在线视频| 国产电影精品久久禁18| 一本色道久久综合亚洲aⅴ蜜桃| 欧美自拍偷拍一区| 久久伊人中文字幕| 亚洲网友自拍偷拍| 国产福利91精品一区二区三区| 91蝌蚪porny九色| 日韩精品一区二区在线观看| 亚洲视频一区二区在线| 久久精品国产一区二区三区免费看| 色综合久久久久| 日韩美女视频一区二区在线观看| 成人欧美一区二区三区1314| 日韩精品成人一区二区在线| 成人黄色电影在线| 日韩视频一区二区三区| 亚洲欧美日韩人成在线播放| 激情五月婷婷综合网| 欧美日韩一区高清| 一区二区中文字幕在线| 久久99日本精品| 欧美久久高跟鞋激| 日韩美女视频一区二区| 国产精品911| 日韩欧美一级片| 视频在线观看一区| 欧洲日韩一区二区三区| 国产精品久线在线观看| 国产乱码精品一区二区三区忘忧草 | 亚洲桃色在线一区| 国产成人精品一区二区三区网站观看| 欧美日本高清视频在线观看| 18欧美亚洲精品| 成人av网站在线观看免费| xvideos.蜜桃一区二区| 日本中文字幕一区| 538在线一区二区精品国产| 综合婷婷亚洲小说| av毛片久久久久**hd| 中文字幕第一区综合| 国产一区中文字幕| 久久久久久电影| 国产精品自拍av| 久久九九久久九九| 国产乱对白刺激视频不卡| 精品久久人人做人人爽| 麻豆视频一区二区| 精品sm捆绑视频| 国产精品亚洲а∨天堂免在线| 亚洲精品一区二区三区影院 | 欧美国产日韩一二三区| 黑人精品欧美一区二区蜜桃 | 日本欧美久久久久免费播放网| 视频在线在亚洲| 欧美中文字幕亚洲一区二区va在线| 亚洲欧美影音先锋| 欧美影院午夜播放| 亚洲午夜久久久久久久久久久| 欧美日韩国产另类不卡| 免费在线观看日韩欧美| 精品毛片乱码1区2区3区| 九九在线精品视频| 中文字幕欧美日韩一区| 99精品偷自拍| 石原莉奈在线亚洲三区| 精品国产91乱码一区二区三区| 国产资源精品在线观看| 国产精品私房写真福利视频| 色综合久久精品| 免费精品99久久国产综合精品| www成人在线观看| caoporm超碰国产精品| 亚洲黄色小视频| 精品欧美乱码久久久久久1区2区| 国产成人99久久亚洲综合精品| 最新久久zyz资源站| 欧美日韩精品一二三区| 激情文学综合丁香| 亚洲免费视频成人| 日韩一区二区三区免费看 | 一区二区三区av电影| 欧美日韩一区二区欧美激情| 久久99精品国产| 夜夜爽夜夜爽精品视频| 精品国产露脸精彩对白| 91女厕偷拍女厕偷拍高清| 成人午夜视频在线| 亚洲第一主播视频| 欧美国产97人人爽人人喊| 欧美丰满嫩嫩电影| 99久久精品国产一区二区三区| 男女视频一区二区| 樱花草国产18久久久久| 久久久亚洲精华液精华液精华液| 欧美亚洲一区三区| 成人短视频下载| 黄色日韩网站视频| 偷拍亚洲欧洲综合| 亚洲制服丝袜一区| 18涩涩午夜精品.www| 精品福利一区二区三区免费视频| 欧美在线观看视频一区二区三区| 国产91高潮流白浆在线麻豆| 免费三级欧美电影| 性做久久久久久| 亚洲人被黑人高潮完整版| 亚洲国产高清在线观看视频| 久久青草欧美一区二区三区| 91精品欧美久久久久久动漫 | 久久精品欧美一区二区三区不卡| 欧美日本一区二区| 欧美三级电影在线看| 91视频在线观看| 成人免费视频视频| 成人丝袜18视频在线观看| 狠狠色丁香久久婷婷综合丁香| 日韩精品久久久久久| 亚洲国产综合在线| 亚洲成人av一区二区三区| 亚洲一区二区在线免费观看视频| 中文字幕免费不卡| 国产精品每日更新| 国产精品久久久久久久久动漫| 国产欧美精品在线观看| 中文字幕欧美激情| 中文字幕一区二区三区在线观看| 中文字幕不卡在线| 亚洲欧洲精品成人久久奇米网| 国产精品免费网站在线观看| 国产精品久久久久aaaa| 国产精品国产三级国产a| 日本一二三四高清不卡| 最近日韩中文字幕| 亚洲国产综合人成综合网站| 天天操天天色综合| 久久国产精品第一页| 韩国精品免费视频| 国产99久久久国产精品潘金网站| 国产aⅴ精品一区二区三区色成熟| 国产成人在线视频网址| 北条麻妃一区二区三区| 色婷婷久久久综合中文字幕| 欧美精品亚洲一区二区在线播放| 欧美一区二区网站| 久久综合av免费| 1024成人网| 亚洲成人动漫精品| 激情欧美一区二区| www..com久久爱| 欧美日韩国产乱码电影| 久久久亚洲高清| 亚洲国产精品久久不卡毛片| 精品中文av资源站在线观看| 99久久综合精品| 欧美高清一级片在线| 中文字幕 久热精品 视频在线| 一区二区三区国产| 国产成人久久精品77777最新版本| 色屁屁一区二区| 久久综合久久综合亚洲| 亚洲免费三区一区二区| 韩国一区二区三区| 欧美视频一区二区| 欧美激情一二三区| 蜜臀av性久久久久蜜臀aⅴ| 不卡电影一区二区三区| 日韩视频免费观看高清完整版| 最新中文字幕一区二区三区| 免费人成黄页网站在线一区二区| 色综合欧美在线| 国产日产亚洲精品系列| 日本三级亚洲精品|