Medium之1468.计算税后工资
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.计算税后工资相关推荐
- Leetcode力扣 MySQL数据库 1468 计算税后工资
1468 计算税后工资 SQL架构 Create table If Not Exists Salaries_1468 (company_id int, employee_id int, employe ...
- LeetCode MySQL 1468. 计算税后工资
文章目录 1. 题目 2. 解题 1. 题目 Salaries 表: +---------------+---------+ | Column Name | Type | +------------- ...
- 1468. 计算税后工资(SQL)
题目:https://leetcode-cn.com/problems/calculate-salaries/ Salaries 表: +---------------+---------+ | Co ...
- Java计算税后工资和税前工资推算
计算税后工资(扣税基数base=3500,可以根据最新情况修改,如5000) @Test public void test() {double money = 30000; //税前工资 double ...
- php 计算工资,php计算税后工资的方法_PHP
本文实例讲述了php计算税后工资的方法.分享给大家供大家参考.具体如下: 税前 税后 5000 3985 8000 6215 11000 8295 14000 10215 17000 12080 20 ...
- PHP折算,php计算税后工资的方法
php计算税后工资的方法 文章主要介绍了php计算税后工资的方法,涉及php流程控制及数学运算的'相关技巧,比较简单实用,需要的朋友可以参考下. 本文实例讲述了php计算税后工资的方法.分享给大家供大 ...
- 「Python条件结构」if…else实现计算税后工资
功能要求 个人所得税收取规定:工资大于3000元的部分将扣除5%的个人所得税.小于3000元的部分不扣除个人所得税.要求从键盘上输入用户的基本工资,根据用户输入的基本工资,计算税后工资,并将税后工资打 ...
- php的工资详解,php计算税后工资的方法
本文实例讲述了php计算税后工资的方法.分享给大家供大家参考.具体如下: 税前 税后 5000 3985 8000 6215 11000 8295 14000 10215 17000 12 ...
- PHP税前税后,php计算税后工资的方法
本文实例讲述了php计算税后工资的方法.分享给大家供大家参考.具体如下: 税前 税后 5000 3985 8000 6215 11000 8295 14000 10215 17000 12080 20 ...
- 税后工资和税前工资的对应计算
前段时间参加一个公司的笔试,其中一个题目是实现税前工资和税后工资的相应转化(由税前求税后.由税后求税前).题目介绍如下: 下表是2011年9月1日起调整后现行的7级超额累进税率(原题目中没有最后一列) ...
最新文章
- Linux下的shell编程入门
- 显示非模式窗口和模式窗口
- date时区 es logstash_es-日志存储-Logstash 介绍
- python对分组进行排序_如何按排序顺序将列表中的项目分组?
- 作者:潘柱廷(1969-),男,启明星辰教授级高级工程师、首席战略官。
- php学语法,PHP入门学习——PHP语法
- Uber “杀人”事件
- 视频画中画效果,拖动进度条可以seek到相应视频帧显示
- [深度数据]·深度学习数据集大全
- installshield 如何实现Oracle数据库脚本的执行功能
- 搜索引擎的一些简单命令-防止自己忘记系列
- 教程7--Schemas和客户端库
- 「不安分」的新加坡, 「不拼单」的AI 造城记
- Oracle 10g 版本10.2.0.1.0升级到Oracle 10g 10.2.0.3.0过程
- 十问旷视印奇、唐文斌:AI企业都在经历「死亡之谷」
- win10:mingw-w64安装教程
- 初始化Linux数据盘
- 中国移动宽带测试用哪个软件,中国移动评测四大类手机应用APP 看完你就知道5G和4G网络差距在哪儿...
- 位运算 - 位运算基本操作
- java 加法计算器
热门文章
- 武侯计算机实验小学小升初,2018年成都小学升初中划片最新版!(含2017年对比)...
- 瞎琢磨先生のJava笔记之读取SpringBoot配置文件的几种方式
- 【流媒体开发】【数据与封装格式】20、AAC码流格式与解析
- ALPS磁式传感器和轴地磁式传感器
- 【luoguP1922】女仆咖啡厅桌游吧
- acwing 合唱队形
- SLAM学习——BA(Bundle Adjustment)与图优化
- 《东周列国志》第三十六回 晋吕郤夜焚公宫 秦穆公再平晋乱
- 转:软件开发的葵花宝典
- 【C++加载dll失败之依赖检查】