我用分组语句得到一个结果select priceName,operator,sum(amount) as sl1,sum(money) as money1 from bussinessrecords group by operator,priceNamepriname   operator   sl1   money1
居民       aa         20      40
经营       aa         15      45
工业       aa         100     1000
居民       bb         30      60
经营       bb         12      36能不能有这样一个语句,得到如下结果居民       aa         20      40
经营       aa         15      45
工业       aa         100     1000
全部       aa          135      1085
居民       bb         30      60
经营       bb         12      36
全部       bb         42      96 
      

解决方案 »

  1.   

    SELECT *
    FROM tablea
    UNION
    SELECT '全部' AS priname, operator, SUM(sl1) AS sl1, SUM(money1) AS money1
    FROM table1
    GROUP BY operator WITH cube
    HAVING (operator IS NOT NULL)
    ORDER BY operator 
      

  2.   


    SELECT *
    FROM table1
    UNION
    SELECT '全部' AS priname, operator, SUM(sl1) AS sl1, SUM(money1) AS money1
    FROM table1
    GROUP BY operator WITH cube
    HAVING (operator IS NOT NULL)
    ORDER BY operator
      

  3.   

    select priceName 
          ,operator 
          ,sl1 
          ,money1 
    from ( 
          select priceName 
                ,operator 
                ,sum(amount) as sl1 
                ,sum(money) as money1 
            from bussinessrecords 
            group by operator,priceName 
            union all 
          select '全部' as priceName 
                ,operator 
                ,sum(amount) as sl1 
                ,sum(money) as money1 
            from bussinessrecords 
          group by operator 
          ) 
    order by priceName,operator