创建小计-SQL Server 2008

创建小计-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

我有下面的数据集,它报告员工每天的工作时数,并且每天都有一个运行两周的周数(1或2)

    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 )
      )

看看这个