当前位置: 代码迷 >> Sql Server >> 按年季度分组字段求和与平均的有关问题
  详细解决方案

按年季度分组字段求和与平均的有关问题

热度:58   发布时间:2016-04-24 10:36:01.0
求助按年季度分组字段求和与平均的问题
SELECT     Subject, DATEPART(year, reportdate) AS 年, 
SUM(CASE datepart(quarter, reportdate) WHEN 1 THEN Result ELSE 0 END)AS 第一季度,              
SUM(CASE datepart(quarter, reportdate) WHEN 2 THEN Result ELSE 0 END) AS 第二季度, 
SUM(CASE datepart(quarter, reportdate) WHEN 3 THEN Result ELSE 0 END) AS 第三季度, 
SUM(CASE datepart(quarter, reportdate) WHEN 4 THEN Result ELSE 0 END) AS 第四季度, 
        CASE Subject          
                WHEN '工时收入'     THEN SUM(Result)     
                WHEN '备品收入'     THEN SUM(Result)             
                WHEN '总维修台次'     THEN SUM(Result)              
                WHEN '单车收入'     THEN SUM(Result)              
                WHEN '主动预约成功次数'  THEN SUM(Result)              
                WHEN '回访问题关闭率'  THEN avg(Result) 
                WHEN '回访成功率'  THEN avg(Result)        
                ELSE SUM(Result) 
        END AS '全年'                            
 FROM(
  SELECT    dwname ,
                    reportdate ,
                    Subject ,     
                    SUM(Result) AS 'Result'        
          FROM      ( SELECT    dwname ,
                                reportdate ,
                                Subject = '工时收入' ,
                                Result = hourlypay
                      FROM      View_basicdate
                      UNION ALL
                      SELECT    dwname ,
                                reportdate ,
                                Subject = '备品收入' ,
                                Result = repairpay + salespay
                      FROM      View_basicdate
                      UNION ALL
                      SELECT    dwname ,
                                reportdate ,
  相关解决方案