leetcode 184 部門工資最高的員工

2021-10-25 12:24:11 字數 1503 閱讀 1596

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

+----+-------+--------+--------------+

| id | name | salary | departmentid |

+----+-------+--------+--------------+

| 1 | joe | 70000 | 1 |

| 2 | jim | 90000 | 1 |

| 3 | henry | 80000 | 2 |

| 4 | sam | 60000 | 2 |

| 5 | max | 90000 | 1 |

+----+-------+--------+--------------+

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

+----+----------+

| id | name |

+----+----------+

| 1 | it |

| 2 | sales |

+----+----------+

編寫乙個 sql 查詢,找出每個部門工資最高的員工。對於上述表,您的 sql 查詢應返回以下行(行的順序無關緊要)。

+------------+----------+--------+

| department | employee | salary |

+------------+----------+--------+

| it | max | 90000 |

| it | jim | 90000 |

| sales | henry | 80000 |

+------------+----------+--------+

解釋:

max 和 jim 在 it 部門的工資都是最高的,henry 在銷售部的工資最高

select

d. name as department,

e. name as employee,

e.salary

from

employee e,

department d

where

e.departmentid = d.id

and(e.salary, e.departmentid)in(

select

max(salary)

, departmentid

from

employee

group

by departmentid

);

184 部門工資最高的員工

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 departmen...

184 部門工資最高的員工

原始資料 嘗試找出最大值,但是出現了一些問題,名字和salary對應不上。明明是jim的工資9000,但是這裡輸出的是joe,why?看了下面這個帖子 自己寫的正確答案思路 先找出最大工資記錄,然後匹配回原表,這樣就不會出錯了 接下來與第二張表進行連線,把部門名稱得到 下面貼出官方解法,思路基本一樣...

Lc184 部門工資最高的員工

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 departmen...