Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 SQL查询,按天对工时和工资进行汇总和分组_Sql Server 2008_Group By_Sum - Fatal编程技术网

Sql server 2008 SQL查询,按天对工时和工资进行汇总和分组

Sql server 2008 SQL查询,按天对工时和工资进行汇总和分组,sql-server-2008,group-by,sum,Sql Server 2008,Group By,Sum,很抱歉,这似乎是一个简单的问题,但我被卡住了。我正在尝试从按员工ID分组的Totals表中获取每日工时和工资。该表包含TimeinSeconds、WageAmount、EmpID、location和其他信息。 我用的是: 选择EmpID、Loc、Sum(TIMENSECONDS/3600.0)作为小时数、付款日期、下注金额 总计 其中loc='locID' 和paycode IN(paycodenames) 和日期>(getdate()-21) 按EmpID、Loc、日期、wageamt分组 但

很抱歉,这似乎是一个简单的问题,但我被卡住了。我正在尝试从按员工ID分组的Totals表中获取每日工时和工资。该表包含TimeinSeconds、WageAmount、EmpID、location和其他信息。 我用的是: 选择EmpID、Loc、Sum(TIMENSECONDS/3600.0)作为小时数、付款日期、下注金额 总计 其中loc='locID' 和paycode IN(paycodenames) 和日期>(getdate()-21) 按EmpID、Loc、日期、wageamt分组

但我得到的是Emp的细分数据,而不是每日总数。如果我在查询中不使用wageamt,它就会工作。那么,我如何计算工时和工资呢

 EmpID  Loc Hours       Paydate     wageamt        

 112        7   0.733333    08/06/14    14.666667   
 112        7   2.533333    08/06/14    50.666667   
 112        7   4           08/06/14    80  
 112        7   1.25        08/07/14    25  
 112        7   4           08/07/14    80  
 200       81   3.983333    08/06/14    31.866667   
 450      703   3.733333    08/06/14    108.789333  

我正在使用SQL2008。谢谢你的建议

使用分组方式,并按如下方式求和:

select 
     EmpID
    ,Loc
    ,sum(Hours)   as Hours
    ,PayDate
    ,sum(WageAmt) as WageAmt
from DataTable
group by
     EmpID
    ,Loc
    ,PayDate

@user3271831:唯一真正的感谢是向上投票和接受。