解决方案 »

  1.   

    sql实现不了,导出成excel做吧。
      

  2.   

    grouping+rollup可以做
    不过这里建议用union all写法大概如下:
    with tmp as(
    select ................ from..
    --即你原来的SQL语句
    )
    select * from tmp
    union all
    select null,null,job,null,null,sum(sal),null,null
    from tmp group by job
    order by job,ename nulls last
      

  3.   

    WITH a AS
    (SELECT empno,ename,job,job job1,mgr,hiredate,sal,comm,deptno FROM emp
    UNION ALL
    SELECT NULL,NULL,to_char(SUM(sal)),job job1 ,NULL,NULL,NULL,NULL,NULL FROM emp GROUP BY job
    ORDER BY job1,empno NULLS LAST)---利用job1作为标志位排序
    SELECT empno,ename,job,mgr,hiredate,sal,comm,deptno FROM a;
    总计的话就再加一条union all语句,SQL语句的功能很强大
      

  4.   

    grouping既能小计也能总计,不需要再加什么union all
      

  5.   

    不用grouping也能实现,一个是单个的sql ,另外一个是group的sql,两个sql 使用union all 然后通过排序来解决类似的问题
      

  6.   

    如果用grouping + rollup 怎么做的?
      

  7.   

    百度一下,这样的例子很多
    就是rollup的用法,grouping是个函数