解决方案 »
- 关于Oracle系统视图dba_tables字段num_rows值与实际表记录不一致的疑问
- imp导入数据错误,请帮忙
- oracle 11 oracle.exe 特别占 cpu ,远程无法连接 两个问题,谢谢。
- or 与 in 的性能问题
- PL/SQL中存储过程调用的问题
- oracle怎样新建实例
- rowid
- 我说一下我学习oracle的经历(转帖)
- ASP 连接oracle9i是的错误!没有权限: 'CreateObject' 的错误!
- 在客户端能不能实现远程启动服务器上的Oracle数据库???
- ORACLE数据库,字段类型是VARCHAR2(20),里面显示的是时间,如何都统一为10位
- oracle表索引失效,会影响其他表的查询么?
不过这里建议用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
(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语句的功能很强大
就是rollup的用法,grouping是个函数