Salaries 表:

Column Name Type
company_id int
employee_id int
employee_name varchar
salary int

(company_id, employee_id) 是这个表的主键
这个表包括员工的company id, id, name 和 salary

问题

写一条查询 SQL 来查找每个员工的税后工资

每个公司的税率计算依照以下规则

如果这个公司员工最高工资不到 1000 ,税率为 0%
如果这个公司员工最高工资在 1000 到 10000 之间,税率为 24%
如果这个公司员工最高工资大于 10000 ,税率为 49%
按任意顺序返回结果,税后工资结果取整

示例

Salaries 表:

company_id employee_id employee_name salary
1 1 Tony 2000
1 2 Pronub 21300
1 3 Tyrrox 10800
2 1 Pam 300
2 7 Bassem 450
2 9 Hermione 700
3 7 Bocaben 100
3 2 Ognjen 2200
3 13 Nyancat 3300
3 15 Morninngcat 7777

Result 表:

company_id employee_id employee_name salary
1 1 Tony 1020
1 2 Pronub 10863
1 3 Tyrrox 5508
2 1 Pam 300
2 7 Bassem 450
2 9 Hermione 700
3 7 Bocaben 76
3 2 Ognjen 1672
3 13 Nyancat 2508
3 15 Morninngcat 5911

对于公司 1 ,最高工资是 21300 ,其每个员工的税率为 49%
对于公司 2 ,最高工资是 700 ,其每个员工税率为 0%
对于公司 3 ,最高工资是 7777 ,其每个员工税率是 24%
税后工资计算 = 工资 - ( 税率 / 100)*工资
对于上述案例,Morninngcat 的税后工资 = 7777 - 7777 * ( 24 / 100) = 7777 - 1866.48 = 5910.52 ,取整为 5911

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/calculate-salaries
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解答

mysql不认识百分比计算,得化为小数。
取整数,不是Int,可以round(&,0)

法一:自联结
select s.company_id,s.employee_id,employee_name,round(case when max_sal<=1000 then salarywhen max_sal>1000 and max_sal<=10000 then 0.76*salaryelse 0.51*salaryend,0) as salary
from salaries s JOIN (select company_id,max(salary) max_salfrom salariesgroup by company_id) t
on s.company_id = t.company_id

注意,这里不能直接
from (select company_id,max(salary) max_sal
from salaries
group by company_id)
这样只会有count(distinct company_id)条记录,所以一定要通过原表和这个临时表 内连接。
也可以from (select *,max(salary) over(partition by company_id max_sal from salaries)

法二:窗口函数
select company_id,employee_id,employee_name,round(case when max(salary) over(partition by company_id)<1000 then salarywhen max(salary) over(partition by company_id) between 1000 and 10000 then 0.76*salaryelse 0.51*salaryend,0) as salary
from salaries

Medium之1468.计算税后工资相关推荐

  1. Leetcode力扣 MySQL数据库 1468 计算税后工资

    1468 计算税后工资 SQL架构 Create table If Not Exists Salaries_1468 (company_id int, employee_id int, employe ...

  2. LeetCode MySQL 1468. 计算税后工资

    文章目录 1. 题目 2. 解题 1. 题目 Salaries 表: +---------------+---------+ | Column Name | Type | +------------- ...

  3. 1468. 计算税后工资(SQL)

    题目:https://leetcode-cn.com/problems/calculate-salaries/ Salaries 表: +---------------+---------+ | Co ...

  4. Java计算税后工资和税前工资推算

    计算税后工资(扣税基数base=3500,可以根据最新情况修改,如5000) @Test public void test() {double money = 30000; //税前工资 double ...

  5. php 计算工资,php计算税后工资的方法_PHP

    本文实例讲述了php计算税后工资的方法.分享给大家供大家参考.具体如下: 税前 税后 5000 3985 8000 6215 11000 8295 14000 10215 17000 12080 20 ...

  6. PHP折算,php计算税后工资的方法

    php计算税后工资的方法 文章主要介绍了php计算税后工资的方法,涉及php流程控制及数学运算的'相关技巧,比较简单实用,需要的朋友可以参考下. 本文实例讲述了php计算税后工资的方法.分享给大家供大 ...

  7. 「Python条件结构」if…else实现计算税后工资

    功能要求 个人所得税收取规定:工资大于3000元的部分将扣除5%的个人所得税.小于3000元的部分不扣除个人所得税.要求从键盘上输入用户的基本工资,根据用户输入的基本工资,计算税后工资,并将税后工资打 ...

  8. php的工资详解,php计算税后工资的方法

    本文实例讲述了php计算税后工资的方法.分享给大家供大家参考.具体如下: 税前  税后 5000  3985 8000  6215 11000  8295 14000  10215 17000  12 ...

  9. PHP税前税后,php计算税后工资的方法

    本文实例讲述了php计算税后工资的方法.分享给大家供大家参考.具体如下: 税前 税后 5000 3985 8000 6215 11000 8295 14000 10215 17000 12080 20 ...

  10. 税后工资和税前工资的对应计算

    前段时间参加一个公司的笔试,其中一个题目是实现税前工资和税后工资的相应转化(由税前求税后.由税后求税前).题目介绍如下: 下表是2011年9月1日起调整后现行的7级超额累进税率(原题目中没有最后一列) ...

最新文章

  1. Linux下的shell编程入门
  2. 显示非模式窗口和模式窗口
  3. date时区 es logstash_es-日志存储-Logstash 介绍
  4. python对分组进行排序_如何按排序顺序将列表中的项目分组?
  5. 作者:潘柱廷(1969-),男,启明星辰教授级高级工程师、首席战略官。
  6. php学语法,PHP入门学习——PHP语法
  7. Uber “杀人”事件
  8. 视频画中画效果,拖动进度条可以seek到相应视频帧显示
  9. [深度数据]·深度学习数据集大全
  10. installshield 如何实现Oracle数据库脚本的执行功能
  11. 搜索引擎的一些简单命令-防止自己忘记系列
  12. 教程7--Schemas和客户端库
  13. 「不安分」的新加坡, 「不拼单」的AI 造城记
  14. Oracle 10g 版本10.2.0.1.0升级到Oracle 10g 10.2.0.3.0过程
  15. 十问旷视印奇、唐文斌:AI企业都在经历「死亡之谷」
  16. win10:mingw-w64安装教程
  17. 初始化Linux数据盘
  18. 中国移动宽带测试用哪个软件,中国移动评测四大类手机应用APP 看完你就知道5G和4G网络差距在哪儿...
  19. 位运算 - 位运算基本操作
  20. java 加法计算器

热门文章

  1. 武侯计算机实验小学小升初,2018年成都小学升初中划片最新版!(含2017年对比)...
  2. 瞎琢磨先生のJava笔记之读取SpringBoot配置文件的几种方式
  3. 【流媒体开发】【数据与封装格式】20、AAC码流格式与解析
  4. ALPS磁式传感器和轴地磁式传感器
  5. 【luoguP1922】女仆咖啡厅桌游吧
  6. acwing 合唱队形
  7. SLAM学习——BA(Bundle Adjustment)与图优化
  8. 《东周列国志》第三十六回 晋吕郤夜焚公宫 秦穆公再平晋乱
  9. 转:软件开发的葵花宝典
  10. 【C++加载dll失败之依赖检查】