oracle中使用cube,ORACLE ROLLUP和CUBE的使用

ORACLE ROLLUP和CUBE的使用

ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。

CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。

在文章的最后附上了相关表和记录创建的脚本。

1、向ROLLUP传递一列

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

SQL>

再来看一下如果使用普通的GROUP BY,而没有ROLLUP是个什么情况

SQL> select division_id,sum(salary)

2  from employees2

3  group by division_id

4  order by division_id;

DIV SUM(SALARY)

--- -----------

BUS     1610000

OPE     1320000

SAL     4936000

SUP     1015000

可以看到,缺少了最后的统计信息。

2、向ROLLUP传递多列

SQL> select division_id,job_id,sum(salary)

2  from employees2

3  group by rollup(division_id,job_id)

4  order by division_id,job_id;

DIV JOB SUM(SALARY)

--- --- -----------

BUS MGR      530000

BUS PRE      800000

BUS WOR      280000

BUS         1610000

OPE ENG      245000

OPE MGR      805000

OPE WOR      270000

OPE         1320000

SAL MGR     4446000

SAL WOR      490000

SAL         4936000

DIV JOB SUM(SALARY)

--- --- -----------

SUP MGR      465000

SUP TEC      115000

SUP WOR

相关文档:

第九章节 :触发器编码

触发器是存储在数据库存中隐式的运行或者被触发的一段程序,当某些事件发生。通常情况下,触发器中支持可执行的一段pl/sql代码块,当一个insert,update,或者delete命名发生在一个表或者视图上的时候。其也支持系统和数据库或者方案事件.oracle数据库也支持触发器中含� ......

【引用】http://tangshd.blog.sohu.com/96035768.html

Oracle多行记录合并/连接/聚合字符串的几种方法

怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结。

什么是合并多行字符串(连接字符串)� ......

在数据库未启动之前登陆从而启动数据库如果没有口令文件,在数据库未启动之前就只能通过操作系统认证.使用Rman,很多时候需要在nomount,mount等状态对数据库进行处理。所以通常要求sysdba权限如果属于本地DBA组,可以通过操作系统认证登陆如果是远程sysdba登陆,需要通过passwordfile认证。

1.remote_login_passwordfile ......

今天在逛论坛的时候看到shiyiwan同学写了一个很简单的语句,可是order by后面的形式却比较新颖(对于我来说哦),以前从来没看过这种用法,就想记下来,正好总结一下ORDER BY的知识。

1、ORDER BY 中关于NULL的处理

缺省处理,Oracle在Order by 时认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前。

......

一,INSERT

1.为了不打乱原来的表的数据,所以备份原来的数据.

create table emp2 as select * from emp

create table emp3 as select * from emp

create table dept2 as select * from dept

create table salgrade2 as select * from salgrade

2.查看表的设计情况:desc dept2;表示查看表dept2的设计情况.

3.插入数据� ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值