下面有一条语句是这样的
select COUNT(*) as 服务次数,SUM(new_actualfee) as 服务费,SUM(new_travelcost) as 差旅费,SUM(new_feeofworkovertime) as 加班费,(SUM(new_travelcost)+SUM(new_feeofworkovertime)+SUM(new_actualfee)) 小计
from incident 
where new_othersubengineer like '%测试员2%'
group by  new_actualfee,new_travelcost,new_feeofworkovertime
查询结果:
服务次数 服务费 差旅费 加班费 小计
1 1.00 2.00 2.00 5.00
1 0.00 1.00 2.00 3.00要把查询结果变成以下的结果集,需要将语句怎么改造?
服务次数 服务费 差旅费 加班费 小计
2 1.00 3.00 4.00 8.88

解决方案 »

  1.   

    select sum(服务次数) as [服务次数],sum(服务费) as [服务费],sum(差旅费) as [差旅费],sum(加班费)
    as [加班费],sum(小计) as [小计] from (
    select COUNT(*) as 服务次数,SUM(new_actualfee) as 服务费,SUM(new_travelcost) as 差旅费,SUM(new_feeofworkovertime) as 加班费,(SUM(new_travelcost)+SUM(new_feeofworkovertime)+SUM(new_actualfee)) 小计
    from incident  
    where new_othersubengineer like '%测试员2%'
    group by new_actualfee,new_travelcost,new_feeofworkovertime ) t
      

  2.   

    把group by new_actualfee,new_travelcost,new_feeofworkovertime这句去掉试试。
      

  3.   

    LZ 可以考虑   : ROLLUP 和 CUBE  查询
      

  4.   

    最好给出完整的表结构,测试数据,计算方法和正确结果.否则耽搁的是你宝贵的时间。
    如果有多表,表之间如何关联?
    发帖注意事项
    http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
      

  5.   

    select COUNT(*) as 服务次数,SUM(new_actualfee) as 服务费,SUM(new_travelcost) as 差旅费,SUM(new_feeofworkovertime) as 加班费,(SUM(new_travelcost)+SUM(new_feeofworkovertime)+SUM(new_actualfee)) 小计
    from incident 
    where new_othersubengineer like '%测试员2%'
    group by new_actualfee,new_travelcost,new_feeofworkovertime你查出来就是一条数据 所以  group by new_actualfee,new_travelcost,new_feeofworkovertime 可以去掉
      

  6.   

    如果结果仅有两行的话,去掉group by语句是比较好的办法
      

  7.   

    --利用视图
    create view myview
    as
    select COUNT(*) as 服务次数,SUM(new_actualfee) as 服务费,SUM(new_travelcost) as 差旅费,SUM(new_feeofworkovertime) as 加班费,(SUM(new_travelcost)+SUM(new_feeofworkovertime)+SUM(new_actualfee)) 小计
    from incident  
    where new_othersubengineer like '%测试员2%'
    group by new_actualfee,new_travelcost,new_feeofworkovertime然后对视图做分组查询