oracle group by中cube…
来源:互联网 发布:ajax引用json文件 编辑:程序博客网 时间:2024/06/06 13:21
oraclegroup by中cube和rollup字句的使用方法及区别
cuberollup grouy by
oracle groupby中rollup和cube的区别:
Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。如果是ROLLUP(A, B,C)的话,
首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUPBY,最后对全表进行GROUP BY操作。
如果是GROUP BY CUBE(A, B, C),则首先会对(A、B、C)进行GROUPBY,然后依次是(A、B),(A、C),(A),(B、C),(B),(C),
最后对全表进行GROUP BY操作。
测试数据:
--创建表
create table fzq
(
name varchar(20),
calss varchar(2),
kemu varchar(4),
chengji varchar(3)
)
--插入数据
insert into fzq values
('11','1','数学','90');
insert into fzq values
('11','1','语文','68');
insert into fzq values
('12','1','数学','90');
insert into fzq values
('12','1','语文','88');
insert into fzq values
('22','2','数学','70');
insert into fzq values
('22','2','语文','88');
insert into fzq values
('33','2','数学','95');
insert into fzq values
('33','2','语文','98');
--测试SQL
select * from fzq;
select calss,name,sum(chengji) from fzq group by calss,name;
select calss,name,sum(chengji) from fzq group by cube(calss,name)order by calss;
select calss,name,sum(chengji) from fzq group by rollup(calss,name)order by calss;
select calss,name,sum(chengji) from fzq group by groupingsets(calss,name);
Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。如果是ROLLUP(A, B,C)的话,
首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUPBY,最后对全表进行GROUP BY操作。
如果是GROUP BY CUBE(A, B, C),则首先会对(A、B、C)进行GROUPBY,然后依次是(A、B),(A、C),(A),(B、C),(B),(C),
最后对全表进行GROUP BY操作。
测试数据:
--创建表
create table fzq
(
name varchar(20),
calss varchar(2),
kemu varchar(4),
chengji varchar(3)
)
--插入数据
insert into fzq values
('11','1','数学','90');
insert into fzq values
('11','1','语文','68');
insert into fzq values
('12','1','数学','90');
insert into fzq values
('12','1','语文','88');
insert into fzq values
('22','2','数学','70');
insert into fzq values
('22','2','语文','88');
insert into fzq values
('33','2','数学','95');
insert into fzq values
('33','2','语文','98');
--测试SQL
select * from fzq;
select calss,name,sum(chengji) from fzq group by calss,name;
select calss,name,sum(chengji) from fzq group by cube(calss,name)order by calss;
select calss,name,sum(chengji) from fzq group by rollup(calss,name)order by calss;
select calss,name,sum(chengji) from fzq group by groupingsets(calss,name);
- oracle group by中cube…
- oracle group by 中rollup和cube
- oracle group by 中rollup和cube
- oracle 中group by cube和rollup
- Oracle ROLLUP和CUBE 用…
- sql中的group by 和&nbs…
- Oracle中group by子句中cube的使用
- oracle group by中rollup、cube、grouping sets、grouping
- GROUP BY的用法
- Oracle “CONNECT BY” 使用
- Oracle PL/SQL之GROUP BY CUBE
- Oracle中的分组group by rollup/cube
- 存储过程的好处,group by&nb…
- ORACLE ORDER BY用法总结
- ORACLE ROLLUP和CUBE的使用
- 诡异的Group by函数
- SQL语句之group by 和having
- Nios II Step By Step 3--Nios II …
- SecureFile LOBs and&nb…
- hot patching
- merge 的使用
- Oralce 系统用户介绍
- oracle 中的INTERVAL 函…
- oracle group by中cube…
- pivoting insert(旋转插入
- Commit或Rollback前的数据状态
- SecureCRT右键粘贴的设置
- oracle unlock\lock user account
- Install ssh for AIX
- 屌丝 c++语言程序设计 第三章 运算符和表达式
- 与NULL值的使用有关
- 去除DVSDK中的ubuntu版本限制