返回介绍

solution / 1800-1899 / 1873.Calculate Special Bonus / README_EN

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

1873. Calculate Special Bonus

中文文档

Description

Table: Employees

+-------------+---------+
| Column Name | Type  |
+-------------+---------+
| employee_id | int   |
| name    | varchar |
| salary    | int   |
+-------------+---------+
employee_id is the primary key (column with unique values) for this table.
Each row of this table indicates the employee ID, employee name, and salary.

 

Write a solution to calculate the bonus of each employee. The bonus of an employee is 100% of their salary if the ID of the employee is an odd number and the employee's name does not start with the character 'M'. The bonus of an employee is 0 otherwise.

Return the result table ordered by employee_id.

The result format is in the following example.

 

Example 1:

Input: 
Employees table:
+-------------+---------+--------+
| employee_id | name  | salary |
+-------------+---------+--------+
| 2       | Meir  | 3000   |
| 3       | Michael | 3800   |
| 7       | Addilyn | 7400   |
| 8       | Juan  | 6100   |
| 9       | Kannon  | 7700   |
+-------------+---------+--------+
Output: 
+-------------+-------+
| employee_id | bonus |
+-------------+-------+
| 2       | 0   |
| 3       | 0   |
| 7       | 7400  |
| 8       | 0   |
| 9       | 7700  |
+-------------+-------+
Explanation: 
The employees with IDs 2 and 8 get 0 bonus because they have an even employee_id.
The employee with ID 3 gets 0 bonus because their name starts with 'M'.
The rest of the employees get a 100% bonus.

Solutions

Solution 1: IF Statement + ORDER BY Clause

We can use the IF statement to determine the calculation method of the bonus, and then use ORDER BY to sort the results by employee_id.

# Write your MySQL query statement below
SELECT
  employee_id,
  IF(
    employee_id % 2 = 0
    OR LEFT(name, 1) = 'M',
    0,
    salary
  ) AS bonus
FROM
  employees
ORDER BY 1;

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

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

发布评论

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