如何使用SQL Server获得年度工资支出

如何使用SQL Server获得年度工资支出,sql,sql-server,Sql,Sql Server,我有一个员工表格,上面有他们的姓名、雇用日期和工资。现在我想得到的是公司每年的工资支出,但每次我尝试这样做时,它都会给我每个雇佣日期的产出和相应的工资 select hire_date, dateadd(year, 1, hire_date), sum(salary) from employees where hire_date between hire_date and dateadd(year, 1, hire_date) group by hire

我有一个
员工
表格,上面有他们的姓名、雇用日期和工资。现在我想得到的是公司每年的工资支出,但每次我尝试这样做时,它都会给我每个雇佣日期的产出和相应的工资

select 
    hire_date, dateadd(year, 1, hire_date), sum(salary) 
from 
    employees
where 
    hire_date between hire_date and dateadd(year, 1, hire_date)
group by 
    hire_date

答案在于你的要求。如果您需要每年的总薪资成本,则意味着您在薪资上使用
SUM
,并在
按年度分组:

select 
    YEAR(hire_date), SUM(salary) 
from 
    employees
group by 
    YEAR(hire_date)

答案在于你的要求。如果您需要每年的总薪资成本,则意味着您在薪资上使用
SUM
,并在
按年度分组:

select 
    YEAR(hire_date), SUM(salary) 
from 
    employees
group by 
    YEAR(hire_date)

“分组方式”不正确,应该失败。按分组时,必须传递构成“选择”列的所有表达式,但不包括分组列:按雇用日期分组,日期添加(年份,1,雇用日期)如果员工离开公司怎么办?您的表中不应该也有一个
leave_date
列来保存该信息吗?您的“分组依据”不正确,应该失败。按分组时,必须传递构成“选择”列的所有表达式,但不包括分组列:按雇用日期分组,日期添加(年份,1,雇用日期)如果员工离开公司怎么办?您的表中是否也应该有一个
leave\u date
列来保存这些信息?