返回介绍

solution / 2600-2699 / 2668.Find Latest Salaries / README

发布于 2024-06-17 01:03:01 字数 3006 浏览 0 评论 0 收藏 0

2668. 查询员工当前薪水

English Version

题目描述

表:Salary

+---------------+---------+ 
| 列名      | 类型  | 
+---------------+---------+ 
| emp_id    | int   | 
| firstname   | varchar |
| lastname    | varchar |
| salary    | varchar |
| department_id | varchar |
+---------------+---------+
(emp_id, salary) 是该表的主键(具有唯一值的列的组合)。
每行包含员工的详细信息和他们每年的薪水,但有些记录是旧的,包含过时的薪资信息。

找出每个员工的当前薪水,假设薪水每年增加。输出他们的 emp_id 、firstname 、lastname 、salarydepartment_id

按 emp_id 升序排序 返回结果表。

返回结果格式如下所示。

 

示例 1:

输入:
Salary 表:
+--------+-----------+----------+--------+---------------+
| emp_id | firstname | lastname | salary | department_id |
+--------+-----------+----------+--------+---------------+ 
| 1    | Todd    | Wilson   | 110000 | D1006     |
| 1    | Todd    | Wilson   | 106119 | D1006     | 
| 2    | Justin  | Simon  | 128922 | D1005     | 
| 2    | Justin  | Simon  | 130000 | D1005     | 
| 3    | Kelly   | Rosario  | 42689  | D1002     | 
| 4    | Patricia  | Powell   | 162825 | D1004     |
| 4    | Patricia  | Powell   | 170000 | D1004     |
| 5    | Sherry  | Golden   | 44101  | D1002     | 
| 6    | Natasha   | Swanson  | 79632  | D1005     | 
| 6    | Natasha   | Swanson  | 90000  | D1005     |
+--------+-----------+----------+--------+---------------+
输出:
+--------+-----------+----------+--------+---------------+
| emp_id | firstname | lastname | salary | department_id |
+--------+-----------+----------+--------+---------------+ 
| 1    | Todd    | Wilson   | 110000 | D1006     |
| 2    | Justin  | Simon  | 130000 | D1005     | 
| 3    | Kelly   | Rosario  | 42689  | D1002     | 
| 4    | Patricia  | Powell   | 170000 | D1004     |
| 5    | Sherry  | Golden   | 44101  | D1002     | 
| 6    | Natasha   | Swanson  | 90000  | D1005     |
+--------+-----------+----------+--------+---------------+

解释:
- emp_id 1 有两条记录,工资分别为 110000 和 106119,其中 110000 是更新后的工资(假设工资每年都会增加)
- emp_id 2 有两条记录,工资分别为 128922 和 130000,其中 130000 是更新后的工资。
- emp_id 3 只有一条工资记录,因此这已经是更新后的工资。
- emp_id 4 有两条记录,工资分别为 162825 和 170000,其中 170000 是更新后的工资。
- emp_id 5 只有一条工资记录,因此这已经是更新后的工资。
- emp_id 6 有两条记录,工资分别为 79632 和 90000,其中 90000 是更新后的工资。

解法

方法一

# Write your MySQL query statement below
SELECT
  emp_id,
  firstname,
  lastname,
  MAX(salary) AS salary,
  department_id
FROM Salary
GROUP BY emp_id
ORDER BY emp_id;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文