标签:
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语句。
*/
--创建表
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‘); commit;
oracle group by中cube和rollup字句的使用方法及区别
标签:
原文地址:http://www.cnblogs.com/HondaHsu/p/4481218.html