如何解决MySQL时间表中员工的总费用
因此,我需要制定一个程序,在给定的时间范围内将员工工资中的所有费用加起来。但是,从时间表开始可能就没有雇用一些员工。
这是我的Worker表列:
Name| Last_Name | email| Date_of_Recruitment | Salary | Newspaper_Name |Password |initial_salary
我想要从1月到7月的支出,而3月雇用了一名雇员,我只希望将他的薪水计入3月,4月,5月,6月,7月。
任何帮助将不胜感激
解决方法
假设您的表中每个员工只有一条记录,我认为您要timestampdiff()
:
select sum(salary
* timestampdiff(month,greatest('2020-01-01',date_of_recruitment),'2020-07-01')
) total_salaries
from mytable
where date_of_recruitment <= '2020-07-01'
对于2020年7月之前雇用的员工,逻辑是计算招聘日期和7月之间经过的月份,并将其乘以薪水。然后,您可以在整个数据集中sum()
进行搜索。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。