mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
88 lines
2.8 KiB
HTML
88 lines
2.8 KiB
HTML
<p>Table: <code>Employee</code></p>
|
|
|
|
<pre>
|
|
+--------------+---------+
|
|
| Column Name | Type |
|
|
+--------------+---------+
|
|
| id | int |
|
|
| name | varchar |
|
|
| salary | int |
|
|
| departmentId | int |
|
|
+--------------+---------+
|
|
id is the primary key (column with unique values) for this table.
|
|
departmentId is a foreign key (reference column) of the ID from the <code>Department </code>table.
|
|
Each row of this table indicates the ID, name, and salary of an employee. It also contains the ID of their department.
|
|
</pre>
|
|
|
|
<p> </p>
|
|
|
|
<p>Table: <code>Department</code></p>
|
|
|
|
<pre>
|
|
+-------------+---------+
|
|
| Column Name | Type |
|
|
+-------------+---------+
|
|
| id | int |
|
|
| name | varchar |
|
|
+-------------+---------+
|
|
id is the primary key (column with unique values) for this table.
|
|
Each row of this table indicates the ID of a department and its name.
|
|
</pre>
|
|
|
|
<p> </p>
|
|
|
|
<p>A company's executives are interested in seeing who earns the most money in each of the company's departments. A <strong>high earner</strong> in a department is an employee who has a salary in the <strong>top three unique</strong> salaries for that department.</p>
|
|
|
|
<p>Write a solution to find the employees who are <strong>high earners</strong> in each of the departments.</p>
|
|
|
|
<p>Return the result table <strong>in any order</strong>.</p>
|
|
|
|
<p>The result format is in the following example.</p>
|
|
|
|
<p> </p>
|
|
<p><strong class="example">Example 1:</strong></p>
|
|
|
|
<pre>
|
|
<strong>Input:</strong>
|
|
Employee table:
|
|
+----+-------+--------+--------------+
|
|
| id | name | salary | departmentId |
|
|
+----+-------+--------+--------------+
|
|
| 1 | Joe | 85000 | 1 |
|
|
| 2 | Henry | 80000 | 2 |
|
|
| 3 | Sam | 60000 | 2 |
|
|
| 4 | Max | 90000 | 1 |
|
|
| 5 | Janet | 69000 | 1 |
|
|
| 6 | Randy | 85000 | 1 |
|
|
| 7 | Will | 70000 | 1 |
|
|
+----+-------+--------+--------------+
|
|
Department table:
|
|
+----+-------+
|
|
| id | name |
|
|
+----+-------+
|
|
| 1 | IT |
|
|
| 2 | Sales |
|
|
+----+-------+
|
|
<strong>Output:</strong>
|
|
+------------+----------+--------+
|
|
| Department | Employee | Salary |
|
|
+------------+----------+--------+
|
|
| IT | Max | 90000 |
|
|
| IT | Joe | 85000 |
|
|
| IT | Randy | 85000 |
|
|
| IT | Will | 70000 |
|
|
| Sales | Henry | 80000 |
|
|
| Sales | Sam | 60000 |
|
|
+------------+----------+--------+
|
|
<strong>Explanation:</strong>
|
|
In the IT department:
|
|
- Max earns the highest unique salary
|
|
- Both Randy and Joe earn the second-highest unique salary
|
|
- Will earns the third-highest unique salary
|
|
|
|
In the Sales department:
|
|
- Henry earns the highest salary
|
|
- Sam earns the second-highest salary
|
|
- There is no third-highest salary as there are only two employees
|
|
</pre>
|