返回介绍

solution / 2800-2899 / 2853.Highest Salaries Difference / README

发布于 2024-06-17 01:02:59 字数 1966 浏览 0 评论 0 收藏 0

2853. 最高薪水差异

English Version

题目描述

表:Salaries

+-------------+---------+ 
| Column Name | Type  | 
+-------------+---------+ 
| emp_name  | varchar | 
| department  | varchar | 
| salary    | int   |
+-------------+---------+
该表的主键(具有唯一值的列的组合)是 (emp_name, department)。 
该表的每一行包含 emp_name、department 和 salary。工程部门和市场部门至少会有一条记录。

编写一个解决方案,计算 市场部门 和 工程部门 中 最高 工资之间的差异。输出工资的绝对差异。

返回结果表。

返回结果格式如下示例所示。

 

示例 1:

输入:
Salaries table:
+----------+-------------+--------+
| emp_name | department  | salary |
+----------+-------------+--------+
| Kathy  | Engineering | 50000  |
| Roy    | Marketing   | 30000  |
| Charles  | Engineering | 45000  |
| Jack   | Engineering | 85000  | 
| Benjamin | Marketing   | 34000  |
| Anthony  | Marketing   | 42000  |
| Edward   | Engineering | 102000 |
| Terry  | Engineering | 44000  |
| Evelyn   | Marketing   | 53000  |
| Arthur   | Engineering | 32000  |
+----------+-------------+--------+
输出:
+-------------------+
| salary_difference | 
+-------------------+
| 49000       | 
+-------------------+
解释:
- 工程部门和市场部门的最高工资分别为 102,000 和 53,000,因此绝对差异为 49,000。

解法

方法一:GROUP BY 分组

我们可以先分别计算出每个部门的最高工资,然后再计算两个最高工资的差值。

# Write your MySQL query statement below
SELECT MAX(s) - MIN(s) AS salary_difference
FROM
  (
    SELECT MAX(salary) AS s
    FROM Salaries
    GROUP BY department
  ) AS t;

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

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

发布评论

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