易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE GROUPING函数的使用

GROUPING函数可以接受一列,返回0或者1。如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0。GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。
关于ROLLUP和CUBE函数的使用,请参见我的另一篇文章。
http://blog.csdn.net/wh62592855/archive/2009/11/16/4817920.aspx
1、在ROLLUP中对单列使用GROUPING()
SQL> select division_id,sum(salary)
  2  from employees2
  3  group by rollup(division_id)
  4  order by division_id;
DIV SUM(SALARY)
--- -----------
BUS     1610000
OPE     1320000
SAL     4936000
SUP     1015000
        8881000
加上GROUPING来看看
SQL> select grouping(division_id),division_id,sum(salary)
  2  from employees2
  3  group by rollup(division_id)
  4  order by division_id;
GROUPING(DIVISION_ID) DIV SUM(SALARY)
--------------------- --- -----------
                    0 BUS     1610000
                    0 OPE     1320000
                    0 SAL     4936000
                    0 SUP     1015000
                    1         8881000
可以看到,为空的地方返回1,非空的地方返回0。
2、使用CASE转换GROUPING()的返回值
可能你会觉得前面的0和1太枯燥了,代表不了任何意义,说白了就是不够人性化,呵呵。这个时候我们可以使用CASE来转换为�


相关文档:

oracle复习(一) 之Oracle体系结构

      学习Oracle DBA也半个多学期了,今天猛然才发现,原来我的书还是很新的,上课操作时候也只是知道大概怎么做,但是要真的全部自己做,而不去翻书还是有一定的难度的,所以呢,今天开始将DBA从头复习一遍,同时再操作一遍。
      第一章,学的是Oracle的体系结构� ......

oracle LogMiner简介

原文地址:http://www.phontol.com/20090719_525808_1.html
1  LogMiner 的用途
  Oracle LogMiner 是 Oracle公司从产品 8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得 Oracle重作日志文件(归档日志文件)中的具体内容,特别是,该 工具可以分析出所有对于数据库操作的 DML(insert、update、 ......

Oracle中rownum的使用

在使用Oracle中使用Rownum,会有些误解,现整理下网友们的文章,希望能有所帮助,呵呵
对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<、<=、!=),并非说用>,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果 ......

Oracle数据库性能调试工具

Oracle Enterprise Manager Oracle EM是用户安装Oracle,创建了数据库并配置好网络资源后,Oracle附带安装的一个数据库管理软件。同时,EM也提供对性能调试有帮助的工具,如SQL*Loader和Recovery Manager (RMAN)等。 Oracle Diagnostics Pack (ODP) ODP应该算是Oracle数据库环境性能调试的最主要和最有效的工具,它提� ......

Oracle触发器

--创建触发器(行级触发器)
create or replace trigger tri_update_emp_bak
after update
on emp_bak
for each row --每更新一行 就触发一次
begin
--oracle 里面 对触发器 也提供了特殊的对象 :NEW :OLD 来访问 更新前后的数据

dbms_output.put_line('更新后' || :NEW.sal);
dbms_outpu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号