如何使用SQL找出特定月份所有部门的工资总额?

问题描述 投票:0回答:1

我尝试过在函数之间进行转换,将字符串转换为日期,例如查询。反正有没有找出特定月份的工资?

  SELECT d.DEPT_NAME AS DeptName, SUM(s.SAL_AMOUNT) AS TotalSal
  FROM salary_history s
  LEFT JOIN department d ON s.EMP_NUM = d.EMP_NUM 
  WHERE s.SAL_FROM between '2017-06-01' and '2017-06-32'
  GROUP BY d.DEPT_NAME;

模式:

department(dept_num, dept_name, emp_num)
employee(emp_num, emp_name, dept_num)
salary_history(emp_num, sal_from, sal_end, sal_amt)

感谢您的帮助。

php mysql sql database workbench
1个回答
0
投票

6月32日不是有效日期。

使用半开间隔通常更简单,因此您不必担心调整月底:

select d.dept_name as deptname, sum(s.sal_amount) as totalsal
from salary_history s
left join department d on s.emp_num = d.emp_num 
where s.sal_from >= '2017-06-01' and s.sal_from < '2017-07-01'
group by d.dept_name;
© www.soinside.com 2019 - 2024. All rights reserved.