mysql中工资表,MySQL操作工资表,获取累计工资和月平均工资
根据一个实际的需求案例,描述一下:如何在工资条中添加获取累计工资[字段]和月平均工资[字段]
这个需求存在一个前后端分离的微服务EHR项目中,通过两个SQL语句来实现。业务逻辑:前端调用一个接口,返回两个对象。两个SQL语句就写在MyBatis中。
项目技术栈:前端vue.js + 后端Spring Cloud微服务
1、加入给出一张工资表,除了在前端页面显示这个人的工资条之外,还需要显示这个人的累计工资和月平均工资。
具体的需求如下:
1、首先,用户登录账户,点击工资条page,进入工资条界面,顶部有一个日期选择器,用户可以选择【年月】(没有具体到哪一天)。
2、其次,用户选择那个也,累计工资就计算到那个月,【即使现在是12月份,用户选择的是201805,工资条结果显示5月的工资,累计工资和月平均工资的计算也是截止到5月份,选择时间点后边的不考虑。】
3、最后,判断当前日期,如果当前日期是15号或者15号之前,则显示上个月的工资条;15号之后,则显示当月的工资条。
需求具体解析:
ps:想在项目中完成这个需求,需要掌握的知识点比较全面,需要掌握vue.js框架的知识、Spring Cloud框架、Spring框架、微服务的概念、MyBatis、MySQL等知识。这些就需要自己去学习啦~我们今天的侧重点在MySQL这一部分。
1、工资条中,有很多内容,但是存在与数据库中的工资表中,这样的话,把数据拿来显示就行了。这个不需要去分析。
2、主要是截止到选择的月份,进行计算累计工资和月平均工资。累计的拿出来了,月平均的也就好说了。selectsum(total_theory_wages) AS wages_total ,
count(total_theory_wages) ,
sum(total_theory_wages) / count(total_theory_wages) AS wages_month_average
from
t_wages t
where
employee_id = 88888888
and
(wages_time between 201801 and 201812)
每一行是一个小块,没对代码进行风格优化。
字段说明:
total_theory_wages 应发工资
wages_month_average 月平均工资
wages_time 年月,例如‘201805’
1、首先,用sum()函数统计累计工资和。
在用count()统计一下次数,注意!这里我没有用截止月份减去起始月份
原因是可能期间有人因为某些原因,没有发工资,取值就会不正确。
这样这个问题就很好的解决了。
2、还有个问题。这里注意一下count(total_theory_wages)为0的情况,如果一个人上个月刚刚入职,还没法工资,虽然在前台看不到工资条数据(对于前台来说,是正确的现象;但是后台是会报错的。)
3、最后,判断当前日期,这个在前端用JavaScript写个if{}else{}代码块控制一下即可。
mysql中工资表,MySQL操作工资表,获取累计工资和月平均工资相关推荐
- Mysql中的行级锁、表级锁、页级锁
转载自 Mysql中的行级锁.表级锁.页级锁 在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足. 在数据库的锁机制中介绍过,在DBMS中,可以按 ...
- 在MySQL中如何有效的删除一个大表?
在MySQL中如何有效的删除一个大表? Oracle大表的删除: http://blog.itpub.net/26736162/viewspace-2141248/ 在DROP TABLE 过程中,所 ...
- mysql查看当前数据库中表明,MySQL中查看当前数据库的所有表
关键词 MySQL数据库 表 摘要 本文介绍在MySQL数据库中,如何列出并查看当前数据库的所有表. 本文介绍在MySQL数据库中,如何列出并查看当前数据库的所有表. 我们创建一个数据库之后,数据库里 ...
- mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数
<Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...
- mysql 季度最后一天,MYSQL中取目前年份的第一天和当前周,月,季度的第一天/最后一天...
MYSQL中取当前年份的第一天和当前周,月,季度的第一天/最后一天 mysql 获取当年第一天的年月日格式:SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(n ...
- 7月平均工资下来,Java程序员哭笑不得!
2020 魔幻开局,不少企业开始缩减招聘名额,更别说涨薪了!据第三方统计,今年 7 月程序员平均工资为 14357 元.作为第一编程语言的 Java,平均工资 14448 元(6 月为 14433 元 ...
- 常州和南京计算机工资水平,南京和苏州哪一个城市工资高?六张图带你看懂江苏各市平均工资情况...
原标题:南京和苏州哪一个城市工资高?六张图带你看懂江苏各市平均工资情况 中商情报网讯:2017年,江苏省城镇非私营单位就业人员年平均工资为78267元,与2016年相比名义增长9.4%.城镇私营单位就 ...
- 编写工资系统,实现不同类型员工(多态)的按月发放工资。如果当月出现某个 Employee对象的生日,则将该雇员的工资增加100元。
工资系统 题目要求 设计思路 代码 运行结果 题目要求 附:题目来源于尚硅谷 编写工资系统,实现不同类型员工(多态)的按月发放工资.如果当月出现某个 Employee对象的生日,则将该雇员的工资增加1 ...
- 对象、继承、封装、多态、抽象类的组合应用:编写工资系统,实现不同类型员工(多态)的按月发放工资。如果当月出现某个Employee对象的生日,则将在该雇员的工资上增加100元发给他。
实验题目: 编写工资系统,实现不同类型员工(多态)的按月发放工资.如果当月出现某个Employee对象的生日,则将在该雇员的工资上增加100元发给他. 实验目的: 对象.继承.封装.多态.抽象类的组合 ...
最新文章
- PostgreSQL SQL 语言:并行查询
- SAP IDoc E1EDP04 Z8 数据错误之对策
- 使用Zookeeper实现leader选举-Leader Latch
- log4cplus导致主进程不能退出问题解决
- 静态时序分析——单周期
- LeetCode 2034. 股票价格波动(set + map)
- SemVLP 单流和双流Transformer哪个好?阿里:我全都要!提出带可插拔模块的Transformer结构...
- 基于Servlet的技术问答网站系统实现(附源码)
- Android 一个页面上下两个ListView的页面显示
- 前端 如何获取response headers 中的set-cookie:_如何使用moco框架搭建接口mock服务
- 《我想进大厂》之分布式锁夺命连环9问 | 大理版人在囧途
- 串行通信又称为点对点通信(PtP),其中点对点如何理解
- 骐俊CAT1模组 - MQTT接入腾讯云平台篇
- 游戏部署安全策略方案
- WPS(word)中插入表格时怎么单独调整一个单元格子的大小
- 30、T5L 迪文屏 C51开发之 ADC模数转换
- HTTP Status 500 - Failed to evaluate expression 'ROLE_USER'
- 南京审计计算机高考收分多少,南京审计大学2019年高考在各省的投档分数线是多少...
- 编写一个类Shop(商店)、内部类InnerCoupons(内部购物券)
- 2022-10-11(一、远程命令执行和系统命令执行)