sql-leetcode-1873. 计算特殊奖金

1873. 计算特殊奖金 - 力扣(LeetCode)

可以使用 SQL 和 Pandas 两种方式来解决这个问题。下面是对应的解决方案。


✅ SQL 解决方案:

SELECT 
    employee_id,
    name,
    CASE 
        WHEN employee_id % 2 = 1 AND name NOT LIKE 'M%' THEN salary
        ELSE 0
    END AS bonus
FROM Employees
ORDER BY employee_id;

✅ Pandas 解决方案:

import pandas as pd

# 假设你已经有一个 DataFrame,命名为 employees
# 示例 DataFrame:
# employees = pd.DataFrame({
#     'employee_id': [1, 2, 3, 4],
#     'name': ['Alice', 'Mike', 'Bob', 'Megan'],
#     'salary': [5000, 6000, 7000, 8000]
# })

employees['bonus'] = employees.apply(
    lambda row: row['salary'] if row['employee_id'] % 2 == 1 and not row['name'].startswith('M') else 0,
    axis=1
)

result = employees[['employee_id', 'name', 'bonus']].sort_values(by='employee_id')

你有具体的数据要我来跑一遍测试下吗?可以贴一下样本我帮你验证下结果~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值