oracle group by中cube和rollup字句的使用方法及区别
2015-05-06 10:47
656 查看
oracle group by中rollup和cube的区别:
Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。
如果是ROLLUP(A, B, C)的话,先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作;
如果是GROUP BY CUBE(A, B, C),则首先会对(A、B、C)进行GROUP BY,然后依次是(A、B),(A、C),(A),(B、C),(B),(C), 最后对全表进行GROUP BY操作。
测试数据:
/*
Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。
*/
--创建表
测试数据
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 grouping sets(calss,name);
Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。
如果是ROLLUP(A, B, C)的话,先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作;
如果是GROUP BY CUBE(A, B, C),则首先会对(A、B、C)进行GROUP BY,然后依次是(A、B),(A、C),(A),(B、C),(B),(C), 最后对全表进行GROUP BY操作。
测试数据:
/*
Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。
*/
--创建表
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'); commit;
测试数据
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 grouping sets(calss,name);
相关文章推荐
- oracle group by中cube和rollup字句的使用方法及区别——入门级
- Group by RollUp&Group by CUBE&GroupBy 区别
- group by rollup和group by cube的用法和区别
- Oracle group by高级用法对比效果(ROLLUP、GROUPING SETS、CUBE)
- oracle group by中cube()和rollup()字句的使用方法及区别
- Group by RollUp&Group by CUBE&GroupBy 区别
- 数据库中的group by与rails中的group_by的区别及使用方法
- Oracle Group by+rollup+cube 的应用
- 【oracle中】***LISTAGG WITHIN GROUP BY ****方法的使用
- 使用group by rollup和group by cube后的辅助函数
- django中聚合aggregate和annotate GROUP BY的使用方法
- oracle group by 和mysql group by 区别
- oracle group by rollup用法详解
- oracle 中 rollup、cube、grouping 使用详解 -- 使用oracle 样例表演示
- mongod统计(类似sql group by)aggregate函数使用方法
- Hive_6. 数据聚合 -- Group By & Grouping_SETS & RollUp & CUBE & Having
- ORACLE ROLLUP和CUBE的使用
- SQL GROUP BY GROUPING SETS,ROLLUP,CUBE(需求举例)
- oracle group by rollup实现小计、合计
- oracle 中 rollup、cube、grouping 使用详解