rollup使用得当会省掉许多代码量,尤其在一些需要小计、合计的场合,下面通过简单的例子可以快速理解rollup的用法
create table t1(id number(10),name varchar2(10),sex varchar2(10),sala number(10));
insert into t1 values(1,'w','man',5000);
insert into t1 values(1,'w','man',5000);
insert into t1 values(1,'w','lady',5000);
insert into t1 values(1,'m','lady',5000);
insert into t1 values(2,'m','lady',5000);
insert into t1 values(3,'f','man',7500);
insert into t1 values(4,'f','lady',7500);
查询结果如下
select id, name, sex, sum(sala)
from t1
group by rollup(id, name, sex)
order by id, name, sex;
查询结果如下:
可以看出rollup统计从右往左
id,name,sex
id,name
id
最后一行进行全表的统计!