创建小计-SQL Server 2008
我有下面的数据集,它报告员工每天的工作时数,并且每天都有一个运行两周的周数(1或2)创建小计-SQL Server 2008,sql,sql-server,Sql,Sql Server,我有下面的数据集,它报告员工每天的工作时数,并且每天都有一个运行两周的周数(1或2) SiteId SiteName EmployeeId FirstName SurName Date WorkedHours WorkedMinutes WeekNo 4 Test 7 Steve Stone 2014-03-01 4.5 270 1 4
SiteId SiteName EmployeeId FirstName SurName Date WorkedHours WorkedMinutes WeekNo
4 Test 7 Steve Stone 2014-03-01 4.5 270 1
4 Test 7 Steve Stone 2014-03-02 9 540 1
4 Test 7 Steve Stone 2014-03-03 4.5 270 1
4 Test 7 Steve Stone 2014-03-08 4.5 270 2
4 Test 7 Steve Stone 2014-03-09 9 540 2
4 Test 7 Steve Stone 2014-03-10 4.5 270 2
我想为每个员工每周添加工作时间和工作分钟的小计。因此,期望的结果将在每部分周的末尾有一行小计,这将给出第1周的总计,然后第2周的总计,汇总是最好的方法
.如果您使用的是SQL Server 2008或更高版本,您应该查看分组集。它们比
汇总
快得多。这是一个了不起的功能来完成这样的任务
我最近实现了类似的逻辑
select EmpId, Year, FaciLeaveType, Month, DateValue , Sum(Leaves)
FROM EmplLeave
GROUP BY
GROUPING SETS(
( EmpId,Year,FaciLeaveType,Month,DateValue )
,( EmpId,Year,FaciLeaveType,Month )
,( EmpId,Year,FaciLeaveType )
)
看看这个